1.RGB(BGR)色彩空间
BGR色彩空间特点:
- BGR是一种加色空间,最终图像由三个通道线性组合构成
- 三通道数值与撞击在物体表面的光量有关
3.一般形式为(B,G,R):黑色为(0,0,0)白色为(255,255,255)
可以看到,在RGB(在OpenCV中为BGR)空间内,室内的明暗度对三个不同通道的取色有着很大的影响。
由此总结,RGB空间简洁有效,却存在着一定的问题:
- 感知不一致性质(perceptual non-uniformity)
- 色度和亮度的信息混合(mixing of chrominance and luminance)
这使得我们难以在不同明暗条件下对颜色进行分割。
在单色中,人眼对红色最不敏感,蓝色最敏感,所以 RGB 颜色空间是一种均匀性较差的颜色空间。如果颜色的相似性直接用欧氏距离来度量,其结果与人眼视觉会有较大的偏差。对于某一种颜色,我们很难推测出较为精确的三个分量数值来表示。
RGB 颜色空间适合于显示系统,却并不适合于图像处理。
2.HSV色彩空间
由A.R.Smith 在1978创建
H: Hue 色相
S: Saturation 纯度
V: Value 强度
关于Hue的说明:
Hue 用角度度量,取值范围为0~360°,表示色彩信息,即所处的光谱颜色的位置。
见下图:
从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,紫色为300°;
最明显的优势:仅用H一个量控制颜色,保证了唯一性。
例如在上图中可以看到,在RGB色彩空间中,黄色是(0,255,255),但在HSV中,H=60即可。
Saturation的意义
饱和度表示颜色接近光谱色的程度。饱和度越高,说明颜色越深,越接近光谱色。饱和度越低,说明颜色越浅,越接近白色。饱和度为0表示纯白色。取值范围为0~100%,值越大,颜色越饱和。
关于Vue的意义
Vue表示明度,决定颜色空间中颜色的明暗程度,明度越高,表示颜色越明亮,范围是 0-100%,明度为0表示纯黑色。
简单举例
对于用户来讲,HSV对于构造颜色非常简单,例如构造淡青色,在RGB中我们需要调配蓝色和其他颜色的比例来调配,然而在HSV中将十分简单:
我们只需要找到欲得到的青色对应的H值(例如180左右),对于标准颜色,H=180,S=V=1即可,若要相对偏深色则调低V的值,若要相对偏浅色则调低S的值即可。
可以看到:
- 在两个图像中,H分量都非常相似,这表明即使在光照变化下颜色信息也完整无缺。
- 在两个图像中,S分量也非常相似。
- V分量捕获落在其上的光量,因此它会由于照明的变化而变化。
- 红色的“室外”和“室内”图像的值之间存在巨大差异。这是因为色相表示为圆圈,红色为起始角度。因此,它可能取[300,360]到[0,60]之间的值。因此在H中由黑白两种、
自我总结
可以看到,S代表纯度是颜色的光谱固有性质,几乎不会因为外界光照强度的大小而改变,而V代表强度,依赖于外界明暗条件。 中文译名还是相对贴切易懂的。
Il reste Lab & YCrCb