opencv CV_8UC1、CV_32FC3、CV_32S等参数的含义

形如:

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。

你可能感兴趣的:(#,ORB_SLAM3,opencv,计算机视觉,图像处理)