opencv—Mat按行赋值

int main(){
        Mat C = (Mat_(3,3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);  
	cout << "Total matrix:" << endl;  
	cout << C << endl;  

	Mat A = (Mat_(1,3) << 2, 3, 5);

	Mat dsttemp = C.row(2);             //M为目的矩阵 n*m
	A.copyTo(dsttemp);       //
	cout << dsttemp<



Mat中row()函数为创建一个指定行数的矩阵头并返回,新矩阵和原始矩阵共享一份基础数据

因此在这段代码中,第八行代码的意思就是把C矩阵的第三行给dsttemp,即dsttemp指向C矩阵的第三行的空间。

那么将A矩阵用copyto函数赋值给dsttemp变量,则C矩阵的第三行的内容也会改变。

opencv—Mat按行赋值_第1张图片

你可能感兴趣的:(Opencv,C++)