为了更加准确的对颜色进行描述和量化,人们引入了颜色空间这一概念。颜色空间,又称彩色模型或颜色坐标系,它是在某些标准下使通过可接受的数学方式表示颜色的一种方法。本文对RGB颜色空间和CIELab颜色空间及它们时间的转换关系做了简要的介绍,对色度学知识感兴趣的朋友可以了解一下!
什么是颜色空间?
颜色空间(也称为颜色模型),可以在某些标准的基础上,借助能接受的方式,来简化规范颜色描述。其本质是对坐标以及子空间的阐述,在该坐标子空间中,每个点对应着每个颜色,肉眼的视觉特性能够被形象、直观地反应出来,是颜色空间的必备条件,这能够让人们有目的地进行各种事物,同时确保在这些过程进行中能够达到预期的效果且不存在负面的影响。同时,对于颜色,人类的视觉系统是极其复杂的非线性关系,因此满足上述条件的颜色模型并不存在。长期以来,人们在面对情况各异的问题时,相应提出了各式各样的颜色空间,在现代科学领域的文献中,都能看见颜色空间的身影。目前,较常使用的颜色空间有:RGB和CIELab颜色空间等,由于每个颜色空间的特点不同,使得它们有各自的适用范围,此外,借助一定的数学工具,可以实现他们之间互相转换。
RGB颜色空间介绍:
光的三原色是红、绿、蓝,理论上每一种可见的颜色都可以分解成红、绿、蓝的组合。RGB颜色空间就是利用红、绿、蓝三原色的混合原理,在三维坐标中将某一种颜色进行定位,三维坐标中的值分别用R(代表红色)、G(代表绿色)和B(代表蓝色)表示。
RGB颜色空间中,如果R值、G值和B值都相等,则代表颜色为黑色、灰色或白色,其中R值、G值和B值都为零时,代表颜色为黑色,当R值、G值和B值都设定为最大值时,代表颜色为白色。如果R值、G值和B值不完全相同,则代表某一种有彩色。在RGB颜色空间中的任一颜色可以用下列公式表示:
C=kRR +kGG+kBB
式中:
C——表示某种颜色;
kR,kG,kB——表示三刺激值。
RGB颜色空间可以用三刺激值来表示颜色,记为(kR,kG,kB)。假设一个颜色的三刺激值为(0,255,0),则表示颜色为绿色。
CIELab颜色空间介绍:
CIELab颜色空间的每个颜色是由L(亮度)、a(表示由红至绿的色度)颜色、b(表示由黄至蓝的色度)颜色三个通道组成的,每个颜色均有其对应的Lab值,如下图所示。L的值域为[0,100],即纯黑到纯白;a则指的是由绿色到红色的光谱变化,为负值时指示绿色而正值时指示红色;b为蓝色到黄色的光谱变化,正为暖色而负为冷色。当颜色的a和b值增大时,颜色点远离中心,颜色的饱和度增大。
CIELab颜色空间能够采用数学理论量化,使得不同设备的色彩能够相互比较、模拟及匹配,同时还实现了颜色的均匀分布,即均匀的颜色空间。均匀的颜色空间使得采用该颜色空间的任何两种颜色的差异度与这两种颜色点之间的欧式距离成比例,且当颜色数值均匀变化的同时,人眼的感官也是均匀变化,即该模型的色差与人眼的感官色差相对应。
RGB颜色空间转换CIELab颜色空间方法:
RBG颜色空间到CIELab颜色空间的转换分成两步:首先,RGB颜色空间先转到XYZ空间,如下列公式所示。
X、Y、Z指的是图像中某像素点的三刺激值,而Xn、Yn、Zn则是图像采集时所使用光源对应的标准照明体系的三刺激值,其取值分别为95.04、100、108.89,然后,再从XYZ空间转到CIELab空间,如下列公式所示。
根据XYZ转换公式得出的X、Y、Z分量,利用L、a、b公式转换成CIELab空间。