opencv—Mat按行赋值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Wonder233/article/details/52800173

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

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

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



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

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

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


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页