首页 > 代码库 > OpenCV Mat 类型定义和赋值

OpenCV Mat 类型定义和赋值

详细介绍请参考官网相关部分链接:http://docs.opencv.org/doc/tutorials/core/mat_the_basic_image_container/mat_the_basic_image_container.html

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[3][3] = {fc[0], 0, cc[0], 0, fc[1], cc[1], 0, 0, 1};    //摄像机内参数矩阵K    cv::Mat mK = cv::Mat(3,3,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]

 

OpenCV Mat 类型定义和赋值