两种用自定义数据初始化Mat

虽然有很多方法都可以初始化mat,但是我感觉比较好的容易记住和理解的是下面两种,记录一下。
#include<opencv2/opencv.hpp>
#include<opencv2/imgcodecs/imgcodecs.hpp>
#include<opencv2/highgui/highgui.hpp>
//#include<cv.h>
using namespace std;
using namespace cv;
int main()
{
	//方法一
	cv::Matx33f m(1,2,3,   //采用定义好的矩阵3*3的
		      9,9,9,
		      5,2,9);
	Mat mat1(m);
	cout<<mat1<<endl;
	//方法二
	Matx<uchar,50,50>mat2(1,2,3);   //采用自定义的50*50的uchar类型的矩阵
	Mat mat(mat2);  //转换为Mat类型
	cout<<mat2<<endl;
	//方法三
	uchar m3[3][3]={0,1,2,3};  //采用自定义矩阵
	Mat mat3=Mat(3,3,CV_8U,m3);
	cout<<mat3<<endl;
	getchar();
	waitKey(0);
	return 0;
}

你可能感兴趣的:(两种用自定义数据初始化Mat)