3 色彩空间类型转换
RGB图像是常见的色彩空间类型,除此之外常见的色彩空间还有GRAY(灰度图像)、XYZ色彩空间、YCrCb色彩空间、HSV色彩空间、HLS色彩空间等。每种不同的色彩空间擅长处理的问题不同,在实际操作中经常需要用到色彩空间类型转换。 色彩空间类型转换是指,将图像从一个色彩空间转换到另一个色彩空间。例如,进行图像的特征提取、距离计算时,往往先将图像从RGB转换为灰度色彩空间,在一些应用中,可能要将色彩空间的图像转换为二值图像。
3.1 色彩空间的基础
3.1.1 GRAY 色彩空间 当图像由RGB色彩空间转换为GRAY色彩空间时,处理方式如下: Gray=0.299R+0.587G+0.114*B 当图像由GRAY色彩空间转换为RGB色彩空间时,最终所有通道都相同,处理方式如下: R,G,B=Gray; 3.1.2 XYZ色彩空间 XYZ色彩空间是由CIE(International Commission on Illumination)定义的,更便于计算的色彩空间。 将RGB和XYZ互相转换的形式为:
3.1.3YCrCb色彩空间 人眼视觉系统(HVS,Human Visual System)对颜色的敏感度要地域对亮度的敏感度。 在YCrCb色彩空间中,Y代表光源亮度,色度信息保存在Cr和Cb,其中Cr表示红色分量信息,Cb表示蓝色分量信息。 RGB与YCrCb色彩空间的转换公式为: Y=0.299·R+0.587·G+0.114·B Cr=(R-Y)*0.713+delta Cb= (B-Y)*0.564+delta delta的值为:
3.1.4HSV色彩空间 RGB是从硬件的角度提出的颜色,HSV色彩空间是一种面向视觉感知的颜色模型。HSV色彩指出人眼色彩知觉主要包含三要素:色调(Hue,也称为色相)、饱和度(Saturation)、亮度(Value),色调指光的颜色,饱和度是色彩的深浅成都,亮度指人眼感受到的光的明暗程度。 3.1.5 HLS色彩空间 HLS色彩空间的三要素是色彩H(Hue)、光亮度/明度L(Lightness)、饱和度(Saturation)。 与HSV色彩空间类似,只是HLS色彩空间用“光亮度/明度(Lightne ss)"替换了”亮度(Value) 3.1.6 CIELab 色彩空间* CIELab* 色彩空间是均匀色彩空间模型,它是面向视觉感知的颜色模型。 CIELab色彩空间中的L分量用于表示像素的亮度,取值范围是[0,100],表示从纯黑到纯白;a分量表示从红色到绿色的范围,取值范围是[-127,127];b分量表示从黄色到蓝色的范围,取值范围是[-127,127]。 **3.1.7 CIELuv 色彩空间** CIELuv色彩空间也是均匀色彩模型。CIELuv*色彩空间与设备无关,适用于显示器显示和根据加色原理进行组合的场合,该模型中比较强调对红色的表示,对红色的变化比较敏感,但蓝色的变化不太敏感。 3.1.8 Bayer色彩空间 Bayer色彩空间(Bayer模型)被广泛应用在CCD和CMOS相机中。
3.2 类型转换函数
OpenCV中,使用cv2.cvtColor()函数实现色彩空间的变换。语法格式为:
dst=cv2.cvtColor(src,code,[,dstCn])
其中,dst表示输出图像,与原始图像具有同样的数据类型和深度。src表示原输入图像。code是色彩空间转化码。dstCn是目标图像的通道数。如果参数值为默认0,则通道数自动通过原始输入图像和code得到。 颜色空间的转换都用到了如下约定: 8位图像值的范围是[0,255] 16位图像值的范围是[0,65535] 浮点数图像值的范围是[0.0~1.0] 非线性的类型转换,RGB图像必须归一化到其对应的取值范围内。
3.3alpha通道
在RGB色彩空间的三个通道的基础上,还可以加上一个A通道,也叫alpha通道,表示透明度。这种4个通道的色彩空间被称为RGBA色彩空间。PNG图像就是典型的4通道图像。alpha通道的复制范围是[0,1],或者[0,255],表示从透明到不透明。
|