创建图像时CV_8UC1,CV_32FC3,CV_32S等参数的含义
创建图像时CV_8UC1,CV_32FC3,CV_32S等参数的含义
OpenCV库用于图像处理和计算机视觉,它用一种特定的方式来描述图像数据的类型。在OpenCV中,CV_
这种描述方式可以拆解为几个部分来理解:
- CV_:这是所有类型的前缀,代表”Computer Vision”。
:这是一个数字,代表每一个通道的位深度。例如,8代表8位,32代表32位等。 - {U|S|F}:这是一个字符,表示数据的类型。U代表无符号整型(unsigned),S代表有符号整型(signed),F代表浮点型(float)。
- C
:这表示图像的通道数。例如,C1表示单通道(例如灰度图),C3表示三通道(通常是BGR颜色图像)。
举几个例子:
- CV_8UC1:这是8位无符号单通道图像,通常用于灰度图像。
- CV_32FC3:这是32位浮点三通道图像,通常用于彩色图像。
- CV_32S:这是32位有符号的图像,通道数没有明确指定,可能会根据上下文来决定。
imshow函数在显示图像时,会将各种类型的数据都映射到[0, 255]。
如下:
如果载入的图像是8位无符号类型(8-bit unsigned),就显示图像本来的样子。
如果图像是16位无符号类型(16-bit unsigned)或32位整型(32-bit integer,有符号位),便用像素值除以256。也就是说,值的范围是 [0,255 x 256]映射到[0,255]。
如果图像是32位或64位浮点型(32-bit floating-point or 64-bit floating-point),像素值便要乘以255。也就是说,该值的范围是 [0,1]映射到[0,255]。
创建图像时CV_8UC1,CV_32FC3,CV_32S等参数的含义
https://qiangsun89.github.io/2023/05/22/创建图像时CV-8UC1,CV-32FC3,CV-32S等参数的含义/