图像处理随笔——颜色空间

这两天在用TF写黑白图片上色的代码,需要把RGB转LAB空间。在此普及下颜色空间的知识,不同颜色空间只是从不同的角度去衡量同一个对象。颜色空间按照基本结构可以分为两类:1.基色颜色空间,如RGB,XYZ 2.色亮分离颜色空间,如YUV,HSV。

RGB颜色空间

在RGB颜色空间中,这个彩色模型利用三原色叠加从而产生不同的颜色。但是三原色叠加并不能产生所有的颜色。所有这些颜色包含在下图所示的一个正方体中,该正方体内部的每一个点都能由三个通道的坐标确定。对角线是三个分量相等的颜色,就成为一个没有颜色的灰度图。

R:红色,取值范围:0~255

G:绿色,取值范围:0~255

B:蓝色,取值范围:0~255

根据三基色原理,用基色光单位来表示光的量,则在RGB色彩空间,任意色光F都可以用R、G、B三色不同分量的相加混合而成:F=r [ R ] + g [ G ] + b [ B ] 当三基色分量都为0(最弱)时混合为黑色光;当三基色分量都为255(最强)时混合为白色光。任一色彩F是这个立方体坐标中的一点,调整三色系数R、G、B中的任一系数都会改变F的坐标值,也即改变了F的色值。

在RGB模式中,由红、绿、蓝相叠加可以产生其它颜色,因此该模式也叫加色模式。所有显示器、投影设备以及电视机等等许多设备都依赖于这种加色模式来实现的。就编辑图象而言,RGB色彩模式也是最佳的色彩模式,因为它可以提供全屏幕的24bit的色彩范围,即真彩色显示。但是,如果将RGB模式用于打印就不是最佳的了,因为RGB模式所提供的有些色彩已经超出了打印的范围之外,因此在打印一幅真彩色的图象时,就必然会损失一部分亮度,并且比较鲜艳的色彩肯定会失真的。这主要因为打印所用的是CMYK模式,而CMYK模式所定义的色彩要比RGB模式定义的色彩少很多,因此打印时,系统自动将RGB模式转换为CMYK模式,这样就难免损失一部分颜色,出现打印后失真的现象。

CMYK颜色空间

CMYK表示青(Cyan),品红(Mangenta),黄(Yellow),黑(Black)四种颜料,该颜色空间是建色混色模型,亮度降低,能表现的色域较小。青色Cyan、品红色Magenta、黄色Yellow是光的二次色。而K取的是Black最后一个字母,之所以不取首字母,是为了避免与蓝色(Blue)混淆。当红绿蓝三原色被混合时,会产生白色,当混合青色、品红色、黄色三原色时会产生黑色。从理论上来说,只需要CMY三种油墨就足够了,但是由于目前制造工艺还不能造出高纯度的油墨,CMY相加的结果实际是一种暗红色。

CMYK与RGB的根本不同在于它是一种减色模式,呈现的是光照射在物体上除去被物体吸收的一部分,剩余被反射的光线颜色,所以CMYK的色域小于RGB颜色空间。常用于打印模式。

YCbCr颜色空间

YCrCb是YUV颜色空间派生出的一种,其重要性是她的亮度信号Y和色度信号Cb,Cr分离。如果只有Y信号分量而没有色度信号分量,那么这样表示的图像就是灰度图片。相比RGB颜色空间,在视频信号传输时YUV只需要占用极少的频宽。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。“色度”则定义了颜色的两个方面─色调与饱和度,分别用Cr和Cb来表示。其中,Cr表示红色色度分量,反映了GB输入信号红色部分与RGB信号亮度值之间的差异。而Cb表示蓝色色度分量,反映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。

HSV颜色空间

HSV是一种将RGB色彩空间中的点在倒圆锥体中的表示方法。HSV即色相(Hue)、饱和度(Saturation)、明度(Value),又称HSB(B即Brightness)。色相是色彩的基本属性,就是平时所说的红橙黄绿青蓝紫等颜色,构成首尾相接的色相环。饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰。明度(V),取0-max(计算机中HSV取值范围和存储的长度有关)。HSV颜色空间可以用一个圆锥空间模型来描述。圆锥的顶点处,V=0,H和S无定义,代表黑色。圆锥的顶面中心处V=max,S=0,H无定义,代表白色。

H:色相,取值范围:0~360度

S:饱和度,取值范围:0.0~1.0

V:明度,取值范围:0.0(黑色)~1.0(白色)

LAB颜色空间

自然界中任何一种颜色都可以在LAB空间中表达出来,它的色彩空间比RGB大,且与设备无关。所以它弥补了RGB和CMYK模式必须依赖设备色彩特性的不足。

L:亮度,取值范围:0~255

A:红色绿色轴,取值范围:-127~128

B:黄色蓝色轴,取值范围:-127~128

任意颜色在LAB空间都会有一个准确的数值表示而且和设备无关,所以LAB作为一个标准颜色空间成为RGB和CMYK的中转站。LAB中的亮度通道(L)专门负责整张图的明暗度,简单的说就是整幅图的黑白版。A通道和B通道只负责颜色的多少。A通道表示从红色至深绿色的范围;b表示从黄色至蓝色的范围;A、B通道里的50%中性灰色表示没有颜色,所以越接近灰色说明颜色越少,而且A通道和B通道的颜色没有亮度。

总的来说:
1、适合RGB通道抠的图大部分LAB模式能完成,反之不成立。
2、任何单一色调背景下,用通道抠有明显颜色区别的部分,用LAB模式很快能完成
3、LAB模式下对明度(L)通道做任何操作(如锐化、模糊等)不会影响到色相。

Ohta颜色空间

Ohta空间中包含三个颜色分量,I1,I2,I3,为一组正交的颜色特征集,它们也可由RGB颜色空间经过线性变换得到,三个分量各自互相独立。

利用该模型也可以对彩色图像进行分割,可以得到很好的效果

各颜色空间转换图如下:

备注:在表达色彩范围上:LAB空间 > RGB空间 > CMYK空间

各颜色空间转换公式:

1.RGB转YUV颜色空间:
 R = Y + 1.14V
 G = Y - 0.39U - 0.58V
 B = Y + 2.03U

2.YUV转RGB颜色空间:

 Y = 0.299R + 0.587G + 0.114B
 U = -0.147R - 0.289G + 0.436B
 V = 0.615R - 0.515G - 0.100B

3.RGB转LAB颜色空间

RGB颜色空间不能直接转换为Lab颜色空间,需要借助XYZ颜色空间,把RGB颜色空间转换到XYZ颜色空间,之后再把XYZ颜色空间转换到Lab颜色空间。

4.LAB转RGB颜色空间

5.RGB转HSV颜色空间

设max等于r、g和b中的最大者,min为最小者。对应的HSV空间中的(h,s,v)值为:

h在0到360°之间,s在0到100%之间,v在0到max之间。

6.HSV转RGB颜色空间

7.RGB转CMYK颜色空间

猜你喜欢

转载自blog.csdn.net/neil3611244/article/details/81303469