RGB颜色空间与XYZ颜色空间转换关系式
2024-07-04
颜色空间是用空面模型的形式对颜色进行描述的一种方式,色差仪作为颜色测量的专业仪器,设置了多种类型的颜色空间,不同颜色空间在表述同一颜色信息是不同的,有时候就需要进行颜色空间的转换。本文介绍了RGB颜色空间与XYZ颜色空间转换关系式。
RGB颜色空间介绍:
RGB颜色空间以红(R)、绿(G)和蓝(B)三种基本颜色为基础,三种颜色进行不同程度的叠加,能够产生丰富的颜色,因此 RGB颜色空间又被称为三基色模型。在该模型中,R、G、B分别位于3个角上,黑色位于原点处,白色位于离远点最远的对角点处,灰度级沿着这两点的连线分布。在该模型中,不同的颜色处在立方体上或者在其内部,并且可以用从原点分布的向量来定义。即每一种颜色可以用红、绿、蓝三个颜色分量的坐标来表示,如(0,0,0)表示黑色,(160,32,24)表示紫色,(0,255,0)表示绿色,(255,255,255)表示白色等。若将颜色值进行归一化,原立方体就变成一个单位立方体,所有的R、G、B值都取值范围在[0,1]内。
RGB颜色空间采用物理三原色对颜色进行表示,这种方式比较简单,但给定任意一个R、G、B值,无法准确知道所表述的颜色,并不符合人的视觉特点。而且RGB颜色空间不是一个均匀的颜色空间,即空间坐标上等距离的两点并不能表示出颜色的差异性,因此,RGB颜色空间并不适合用作色差检测。
XYZ颜色空间介绍:
CIEXYZ颜色空间也称作CIE1931XYZ颜色空间,是CIE色彩空间中一个最先采用数学方法来定义颜色的标准空间,1931年国际照明委员会在进行了大量正常人视觉测量和统计建立了“标准色度观察者”,并通过对比计算机视觉系统和人眼视觉系统对颜色感知后建立的一套与人眼视觉感知光谱相一致的三原色颜色空间。
由于CIERGB颜色模型存在负波形现象,使得该颜色空间的表达与实际情况不相符,更不利于理解,在1931年国际照明委员会通过对颜色CIERGB系统的研究,改用三个假想原色X、Y、Z建立了CIEXYZ颜色系统,通过线性关系的映射使得CIEXYZ颜色空间的颜色比配光谱全部为正值。由于人类视觉能够响应不同波长范围的颜色,所有可视颜色的完整绘图是三维的,但由于人眼视觉对颜色的感知可分为两部分:明度和色度。例如,白色是明亮的颜色,而灰色被认为是不太亮的白色。换句说,可以理解为白色和灰色的色度一样,不同的只是明度。CIEXYZ颜色空间中Y参数表达的是颜色的明度或是亮度的测量,其色度是通过参数X和Y来确定,XYZ虽是由红绿蓝三原色转换而来的一种参数,但归根结底是三个假想色,没有太大的实际意义。
虽然CIEXYZ颜色空间是基于人眼的视觉感知建立的标准颜色空间,但其颜色空间中两种颜色的差别大小无法表达人眼对颜色差异的感知情况,所以该颜色空间无法模仿人眼视觉对颜色差别的感知,因而,无法采用该颜色空间将人眼视觉对色差的感知以数据形式准确表达。为此,CIE研究了其他标准颜色空间专门针对模拟人眼视觉对颜色感知差别的颜色空间,常见的就有CIELab颜色空间。
RGB颜色空间与XYZ颜色空间转换关系式:
RGB颜色空间是一种与设备有关的颜色空间,而CIEXYZ颜色空间是一种与设备无关的颜色空间,在图像处理中各种颜色空间各有优缺点,将RGB颜色空间转化到CIEXYZ颜色空间中涉及到一个问题,就是如何将不同大小的颜色空间进行转换,确定其映射关系。
在CIEXYZ颜色空间研究初期,CIEXYZ颜色空间是通过将RGB颜色空间转化到CIERGB颜色空间(以一种单一波长原色的特定集合)后将CIERGB颜色空间转化到CIEXYZ颜色空间。但为实现RGB颜色空间到CIEXYZ颜色空间的直接转换,国际照明委员会通过对计算机视觉系统和人眼视觉观测的颜色进行大量的比配实验得到的等能光谱的三原色的相对数量,得出从RGB颜色空间到CIEXYZ颜色空间的转换公式如下公式所示:
观察上述公式可知,其中X=0.412453*R+0.357580*G+0.180423*B,各系数相加之和为0.950456,非常接近于1,而R、G、B各分量的取值范围为[0,255],当系数和为1时,X的取值范围也必然在[0,255],因而为实现 CIEXYZ颜色空间到RGB颜色空间的同等范围的映射,需对各系数进行修改,使其和等于1,第一行的系数应分别修改为[0.412453 0.357580 0.180423]/[0.950456]=[0.433953 0.376219 0.189828],依此方法对Z分量的转换系数进行修正,而Y分量的系数之和为1,所以无需修改。最终得到RGB颜色空间和CIEXYZ颜色空间互相转换的公式如下: