(1)Mat介绍
Mat即matrix矩阵。Mat可以很好的存储图片。如我们所知图片由是由像素点构成,比如有一张300*450,位深为24的彩色图片,用mat来存储时,就是可以表示成Mat image(300,450,CV_8UC3)。300代表行450代表列,CV_8UC3中的8代表8位,U代表一个8位的c++数据类型(这里我不太清楚),C3就代表3通道,与RGB三种颜色对应,每种用8位表示,正好24位深。
(2)Mat初始化
1.Scalar
Mat M=Mat(2,2, CV_8UC3, Scalar(0,0,255));
2.数组
double m[2][3] = { {1, 2, 3}, {4, 5, 6} };
Mat M = Mat(2, 3, CV_64F, m);
3.指针
const char *a="12345678912345678";
Mat M = Mat(2,3,CV_8UC3, (char*)a);
当然还有其他方法。
https://docs.opencv.org/3.1.0/d3/d63/classcv_1_1Mat.html#a3620c370690b5ca4d40c767be6fb4ceb
(3)Mat打印
cout << "M= " << M << "\n";