opencv Mat 的基本操作

一、 Mat的复制,就是从一个矩阵A,生成相关的另一个矩阵B。

(1)使用赋值的方法,比如通过构造函数生成矩阵N,通过复制生成矩阵P

cv::Mat N(M); 
cv::Mat P; 
P=M; 

     这样生成的矩阵,只是新生成一个矩阵头,它的data依然指向矩阵M的data,类似C++中的浅拷贝,比如矩阵M,N,P它们的data都指向地址0x00badd50

(2) 使用copyTo和clone函数

cv::Mat F = M.clone(); 
cv::Mat G; 
F.copyTo(G);

      这样可以生成一个全新的矩阵,不但复制矩阵的头信息,而且会生成一个data的拷贝。比如矩阵F和M,它们的data指针地址和F是不同的。



Mat数据类型的转置操作

函数 t()用来实现Mat的转置

  Mat C = (Mat_(3,3) << -1, -1, -1, 0, 0, 0, 2, 2,2);  
		for(int i=0;i(i,j)<<" ";
	   }
	   cout<(i,j)<<" ";
	   }
	   cout<

opencv Mat 的基本操作_第1张图片

Mat 乘法运算

Mat C;

Mat D;

Mat E;

E=C*D;

    Mat C = (Mat_(2,2) << 1, 2, 3, 4);  
		for(int i=0;i(i,j)<<" ";
	   }
	   cout<(2,2) << 2, 3, 2,3); 
	for(int i=0;i(i,j)<<" ";
	   }
	   cout<(i,j)<<" ";
	   }
	   cout<


你可能感兴趣的:(opencv)