一、基本概念
色彩空间(color space)指的是用一种客观的方式叙述颜色在人眼上的感觉,通常需要三色刺激值。首先定义三种主要颜色,再利用颜色叠加模型即可叙述各种颜色。其大致分类为
色域(color gamut)就是图像颜色的区域,色域越大图像所表现的颜色就越多,色彩的饱和度也就越高。
条件等色现象:颜色由其光的波长(或频率)唯一定义,也就是一种波不可能由其他波组合出来,不可能由多种波长合成一种波长。而人的感官细胞会产生一种错觉,即几种波的混合刺激等效于另一种波的单独刺激。
明度:眼睛对光源和物体表面的明暗程度的感觉,主要是由光线强弱决定的一种视觉经验。
色度:色度是不包括亮度在内的颜色的性质,它反映的是色调(Hue)和饱和度(saturation)
二、色彩空间数字化
人的视网膜上布满了感光细胞,当有光线传入人眼时,这些细胞就会将刺激转化为视神经的电信号,最终在大脑得到解释。视网膜上有两类感光细胞:视锥细胞和视杆细胞。视锥细胞包含有一种感光色素,分别对短(s,420nm~440nm)、中(m,530~540nm)、长(L,560~580nm)三种波长敏感,即红、绿、蓝三种光敏感。这类细胞能在较明亮的环境中提供辨别颜色和形成精细视觉的功能。视杆细胞不能感受颜色、分辨精细的空间,但在较弱的光线下可以提供对环境的分辨能力(比如夜里看到物体的黑白轮廓)。
为了将视觉量化,转化为数字值,CIE(国际照明委员会)是位于欧洲的一个国际学术研究机构,1931年,CIE在会议上根据之前的实验成果提出了一个标准——CIE1931-RGB标准色度系统。在颜色匹配中,用于颜色混合以产生任意颜色的三种颜色叫做三原色 。通常加色混色中使用红、绿、蓝三种颜色光为三原色是为了得到最多的混合色。当与待测色达到色匹配时所需要的三原色的数量,称为三刺激值,记作R、G、B。一种颜色与一组R、G、B值相对应,R、G、B值相同的颜色,颜色感觉(外貌)必定相同。CIE-RGB 光谱三刺激值是 CIE 以 317 位正常视觉者,用 CIE 规定的红 、绿 、蓝三原色光,对等能光谱色从 380 ~ 780nm 所进行的专门性颜色混合匹配实验得到的。实验时,与光谱每一波长为 λ的等能光谱色对应的红 、绿 、蓝三原色数量,称为光谱三刺激值,记为 r(λ)、g(λ)、b(λ)。
光谱三刺激值:匹配等能光谱色的三原色数量。用符号r,g,b表示。
因此,匹配波长为 λ的等能光谱色 C(λ)的颜色方程为:
为了更好地理解上述颜色方程,将
。光谱三刺激值的数据及单位量(R )=1 .0000,(G)=4 .5907,(B)=0 .0601代入上式中得到等能光谱色 C(λ)的相对亮度曲线(如图所示)。其中最大值为C(555),即
为等能光谱色实际色光的最大亮度 。所以CIE-RGB光谱三刺激值,是匹配光谱每一波长为λ的等能光谱色对应的红 、绿 、蓝三原色的实际数量,经过单位量换并进行归一化处理而得到的数值。
在λ=555nm时等能光谱色的亮度具有最大值,说明等能光谱色中绿色的亮度较高,使用红 、绿 、蓝三种单色光(原色光)混合白光时需要大量的绿光(比例为1 .0000:4.5907:0.060),这说明在等能光谱中绿光波长段上的亮度总和较大,因此绿光在等能光谱中有很强的代表性。
三、色彩域相互转换
颜色空间有设备相关和设备无关之分.
1. 设备相关的颜色空间是指颜色空间指定生成的颜色与生成颜色的设备有关。
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
- 在图像处理中使用较多的是 HSV 颜色空间,它比 RGB 更接近人们对彩色的感知经验。非常直观地表达颜色的色调、鲜艳程度和明暗程度,方便进行颜色的对比。常用于分割指定颜色的物体。HSV 表达彩色图像的方式由三个部分组成:Hue(色调、色相)、Saturation(饱和度、色彩纯净度)、Value(明度)。用下面这个圆柱体来表示 HSV 颜色空间,圆柱体的横截面可以看做是一个极坐标系 ,H 用极坐标的极角表示,S 用极坐标的极轴长度表示,V 用圆柱中轴的高度表示。Hue 用角度度量,取值范围为0~360°,表示色彩信息,即所处的光谱颜色的位置。,表示如下:
颜色圆环上所有的颜色都是光谱上的颜色,从红色开始按逆时针方向旋转,Hue=0 表示红色,Hue=120 表示绿色,Hue=240 表示蓝色等等。在 GRB中 颜色由三个值共同决定,比如黄色为即 (255,255,0);在HSV中,黄色只由一个值决定,Hue=60即可。
HSV 圆柱体的半边横截面(Hue=60):其中水平方向表示饱和度,饱和度表示颜色接近光谱色的程度。饱和度越高,说明颜色越深,越接近光谱色饱和度越低,说明颜色越浅,越接近白色。饱和度为0表示纯白色。取值范围为0~100%,值越大,颜色越饱和。竖直方向表示明度,决定颜色空间中颜色的明暗程度,明度越高,表示颜色越明亮,范围是 0-100%。明度为0表示纯黑色(此时颜色最暗)。
可以通俗理解为:在Hue一定的情况下,饱和度减小,就是往光谱色中添加白色,光谱色所占的比例也在减小,饱和度减为0,表示光谱色所占的比例为零,导致整个颜色呈现白色。明度减小,就是往光谱色中添加黑色,光谱色所占的比例也在减小,明度减为0,表示光谱色所占的比例为零,导致整个颜色呈现黑色。HSV 对用户来说是一种比较直观的颜色模型。我们可以很轻松地得到单一颜色,即指定颜色角H,并让V=S=1,然后通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小V而S不变,同样增加白色可以减小S而V不变。例如,要得到深蓝色,V=0.4 S=1 H=240度。要得到浅蓝色,V=1 S=0.4 H=240度。HSV 的拉伸对比度增强就是对 S 和 V 两个分量进行归一化(min-max normalize)即可,H 保持不变。
RGB颜色空间更加面向于工业,而HSV更加面向于用户,大多数做图像识别这一块的都会运用HSV颜色空间,因为HSV颜色空间表达起来更加直观!
- HLS 颜色空间。HLS 和 HSV 比较类似,这里一起介绍。HLS 也有三个分量,hue(色相)、saturation(饱和度)、lightness(亮度)。HLS 和 HSV 的区别就是最后一个分量不同,HLS 的是 light(亮度),HSV 的是 value(明度)。可以到这个 网页 尝试一下。HLS 中的 L 分量为亮度,亮度为100,表示白色,亮度为0,表示黑色;HSV 中的 V 分量为明度,明度为100,表示光谱色,明度为0,表示黑色。下面是 HLS 颜色空间圆柱体:
提取白色物体时,使用 HLS 更方便,因为 HSV 中的Hue里没有白色,白色需要由S和V共同决定(S=0, V=100)。而在 HLS 中,白色仅由亮度L一个分量决定。所以检测白色时使用 HSL 颜色空间更准确。
参考博客:三分钟带你快速学习RGB、HSV和HSL颜色空间 - 知乎
- 大多数在纸上沉积彩色颜料的设备,如彩色打印机和复印机,要求输入CMY(Cyan, Magenta,Yellow)数据或在内部进行RGB到CMY的转换。这一转换是使用下面的式子进行的:
Lab颜色空间比计算机显示器、打印机甚至比人类视觉的色域都要大,表示为 Lab 的位图比 RGB 或 CMYK 位图获得同样的精度要求更多的每像素数据。虽然我们在生活中使用RGB颜色空间更多一些,但也并非Lab颜色空间真的一无所有。例如,在 Adobe Photoshop图像处理软件中,TIFF格式文件中,PDF文档中,都可以见到Lab颜色空间的身影。而在计算机视觉中,尤其是颜色识别相关的算法设计中,rgb,hsv,lab颜色空间混用更是常用的方法。
【opencv】颜色空间总结_AI小白龙的博客-CSDN博客
https://blog.csdn.net/tornadofeng/article/details/2047072
数字图像处理(2): 颜色空间/模型—— RGB, CMY/CMYK, HSI, HSV, YUV_TechArtisan6的博客-CSDN博客