Mat创建方法
From tutorial_code\core\mat_the_basic_image_container\mat_the_basic_image_container.cpp
1、通过构造函数初始化:
Mat M(2,2, CV_8UC3, Scalar(0,0,255));
2、通过create()函数初始化
M.create(4,4, CV_8UC(2));
M.create( MAT.size(), MAT.depth() );
3、创建多维Mat
int sz[3] = {2,2,2};
Mat L(3,sz, CV_8UC(1), Scalar::all(0));
4、创建对角线Mat、全一Mat、全零Mat
Mat E = Mat::eye(4, 4, CV_64F);
Mat O = Mat::ones(2, 2, CV_32F);
Mat Z = Mat::zeros(3,3,CV_8UC1);
5、创建双精度Mat
Mat C = (Mat_<double>(3,3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
6、取矩阵一列\行
Mat RowClone = C.row(1).clone();
7、创建随机数Mat
Mat R = Mat(3, 2, CV_8UC3);
randu(R, Scalar::all(0), Scalar::all(255));
8、创建2D点
Point2f P(5, 1);
9、创建3D点
Point3f P3f(2, 6, 7);
10、用Mat格式输出Vector
vector<float> v;
v.push_back( (float)CV_PI); v.push_back(2); v.push_back(3.01f);
cout<<Mat(v)
11、Mat = Mat1( Range( Mat1.rows/2, Mat1.rows - 1 ), Range( 0, Mat1.cols - 1 ) );