今天读取opencv中的Mat数组,已经被打败,真的是类型不对就读不出内容啊,真的要崩溃,故特此记录一下。
1、首先了解一下Mat中对应的各个类型
在opencv中像素点的数据类型能找到对应类似char,int,float,double的,比如说是分别为CV_8UC1,CV_16UC1,CV_32FC1, CV_64FC1,一定要注意是没有这一说法的CV_16FC1。
当Mat中数据的类型为CV_16UC1的时候,这里的16U并不是指unsigned int,而是指的是unsigned short int,因为在OpenCV框架中,int不是16位的,而是32位的
2、创建mat数组
<span style="font-size:14px;">Mat matpixel(rows, cols, types, Scalar(0));
例如:Mat matpixel(src.rows*src.cols, 2, CV_16UC1, Scalar(0));</span>