C++ OpenCV:在矩阵中,如何为一行中的所有元素指定相同的值

C++ OpenCV:在矩阵中,如何为一行中的所有元素指定相同的值,c++,matlab,opencv,C++,Matlab,Opencv,对于Matlab中的以下表达式,什么是OpenCV等价物 A(2,:)=3; 据我所知,我可以在OpenCV中执行以下操作: Mat Arepeated; repeat(value, 1, A.cols, Arepeated); Arepeated.copyTo(A.row(1)); 此处value是一个值为3的1x1垫。有没有比我上面写的更有效的方法 建议使用std::fill,但仅显示其在矢量对象中的用法。我不确定它是否也可以应用于Mat对象,或者是否还有其他功能。有人能给我介绍一下吗?

对于Matlab中的以下表达式,什么是OpenCV等价物

A(2,:)=3;
据我所知,我可以在OpenCV中执行以下操作:

Mat Arepeated;
repeat(value, 1, A.cols, Arepeated);
Arepeated.copyTo(A.row(1));
此处
value
是一个值为3的1x1垫。有没有比我上面写的更有效的方法

建议使用
std::fill
,但仅显示其在矢量对象中的用法。我不确定它是否也可以应用于Mat对象,或者是否还有其他功能。有人能给我介绍一下吗?

怎么样:

A.row(1).setTo(Scalar(value));

如果我想将多行设置为零,我必须使用循环还是有更短的方法?@Ruchir您可以使用:
a.rowlange(4,8).setTo(Scalar(value))
是的,谢谢。但是,我刚刚意识到,在openCV中,endrow索引与Matlab相反,是独占的。所以,(4,8)仅指4,5,6,7,而不是8。