形如:
CV_<bit_depth>(S|U|F)C<number_of_channels>
参数说明:
bit_depth:比特数---代表8bite,16bites,32bites,64bites...
举个例子吧--比如说:
如果你现在创建了一个存储--灰度图片的Mat对象,这个图像的大小为宽100,高100,那么,现在这张灰度图片中有10000个像素点,它每一个像素点在内存空间所占的空间大小是8bite,8位--所以它对应的就是CV_8。
---------------------------------------------------------------------------
S|U|F:
S--代表---signed int---有符号整形
U--代表--unsigned int--无符号整形
F--代表--float---------单精度浮点型
----------------------------------------------------------------------------
C<number_of_channels>----代表---一张图片的通道数,比如:
channels = 1:灰度图片--grayImg---是--单通道图像
channels = 3:RGB彩色图像---------是--3通道图像
channels = 4:带Alph通道的RGB图像--是--4通道图像
创建Mat类对象:
Mat(int rows, int cols, int _type);// _type is CV_8UC1, CV_64FC3, CV_32SC(12) etc.
Mat(Size size,int _type);
或者
Mat a ;
a.create(srcImage.size(),CV_32FC1);//srcImage为已经实例化的mat对象
a. create(srcImage.size(),srcImage.type())
注意:
我们偶尔会发现不带通道数的类型,如:CV_32S,CV_8U等等。
其实,不带通道数的这些类型就是默认通道数为1。
例如,CV_8U就等同于CV_8UC1,CV_32S就等同于CV_32SC1。