1.一般的Mat定义方法:cv::Mat M(height,width,<Type>),例:
cv::Mat M(480,640,CV_8UC3); 表示定义了一个480行640列的矩阵,矩阵的每个单元的由三个(C3:3 Channel)8位无符号整形(U Unsigned U8 8位)构成。
2.将已有数组赋给Mat矩阵的方法:
cv::Mat M = cv::Mat(height,width,<Type>,data),例:
float K[][] = {fc[], , cc[], , fc[], cc[], , , }; //摄像机内参数矩阵K
cv::Mat mK = cv::Mat(,,CV_32FC1,K); //内参数K Mat类型变量
3.类似matlab:zeros(),ones(),eyes()的初始化方法:
cv::Mat M = cv::Mat::eye(height,width,<Type>)
cv::Mat M = cv::Mat::ones(height,width,<Type>)
cv::Mat M = cv::Mat::zeros(height,width,<Type>)
4.对于小矩阵给定数值的赋值方法:
cv::Mat M = (cv::Mat_<Type>(height,width) << 0,-1,0,-1,5,-1,0,-1,0)
得到以下矩阵 M=
[0 -1 0
-1 5 -1
0 -1 0]
详细介绍请参考官网相关部分链接:http://docs.opencv.org/doc/tutorials/core/mat_the_basic_image_container/mat_the_basic_image_container.html