色差值怎么计算的?色差值是根据色彩学原理计算出来的。色彩学是一门研究颜色的科学,通过研究不同光源下的颜色、色光三属性等来解释颜色的本质。色差值是通过比较两种颜色的差异来描述颜色差别的参数,常用的方法是使用CIE1976L*a*b*色彩空间中的欧氏距离来计算。在计算色差值时,需要确定参考色和目标色,并....
色差值是根据色彩学原理计算出来的。
色彩学是一门研究颜色的科学,通过研究不同光源下的颜色、色光三属性等来解释颜色的本质。
色差值是通过比较两种颜色的差异来描述颜色差别的参数,常用的方法是使用CIE1976 L*a*b*色彩空间中的欧氏距离来计算。
在计算色差值时,需要确定参考色和目标色,并对其进行色度学转换,然后计算它们在L*a*b*色彩空间中的欧氏距离即可得到色差值。
值得注意的是,在计算色差值时,不同的应用场景有着不同的要求,例如在图像处理中,颜色误差可能会影响图片的质量,因此需要人们根据不同的应用场景进行计算和比较。
色差△E计算公式:△E=[(△L*)2+(△a*)2+(△b*)2]1/2。色差是由于透射材料的密度或化学成分不均匀而引起的颜色变化。
色差△E是指两个颜色之间差异的值,它通常用来衡量两种颜色之间的颜色差。色差△E的数值越小,表示两种颜色之间的差异越小;色差△E的数值越大,表示两种颜色之间的差异越大。
1. CIE L*函数
将相对亮度(Y/Yn)映射为亮度(L∗)的CIE方程由两个独立的函数组成f()和g()
这两个函数在ϵ,我称之为交叉点。两个常数κ,ϵCIE标准规定:
通过对两个功能的连接点进行特写,可以看到此中断。在下面的动画中,f()是用蓝色画的g()是用红色画的。当我们放大连接点时,不连续变得明显:
可见,函数不仅是不连续的,而且是非单调的,这使得它在这个区域是不可逆的。交界处的斜坡呢?我们可以用一阶导数来比较它们。
再次进行替换表明在连接点处坡度也不匹配:
如果我们想找到修正常数
,如果同时提供函数和斜率连续性,则必须在接合点匹配函数及其一阶导数:
变换后得到
求常数,表明它们的值可以用有理数精确表示:
使用这些值代替已发布的CIE值可以在连接点处提供完美的函数和坡度连续性:
CIE决定将这些常数表示为十进制值,这是一种不必要的近似,同时引入了函数和斜率不连续性。
如果你检查CIE方程在XYZ和Lab之间的转换,你会发现常数7.787。通过将上述分析扩展到这些方程中,您将发现这个常数的确切值是有理数。
通过使用上述值,将修复XYZ、Lab、LCHab、Luv和LCHuv之间已发布的CIE转换中存在的函数不连续性、非单调性、反演失败和斜率不连续性。
2. 色差计算
色差即两个颜色的差异。一般地,在特定的条件下,人眼可以比较容易的分辨两个颜色样品是否有差异。在实际应用中,尤其是工程计算中,需要将这种差异用数学公式来量化表示,即色差公式。色差的计算是颜色科学的一个重要课题,到现在已经有了80多年的发展历史。
要建立色差计算公式,并不是一件简单的事情,首先就需要一个模型来描述颜色,目前应用最广泛的就是CIE1931-XYZ标准色度系统。
CIE1931-XYZ(CIE: 国际照明委员会) 是1931年由CIE推荐的色度系统,大部分颜色测量、计算大都采用这一系统。但是这个系统模型采用的三刺激值或者色品坐标,都与颜色感觉没有直接的对应关系,并不均匀,大家可以对照图1看看,在CIE1931xy色品图上,绿色区域,变化较大时,人眼才能分辨出两个颜色的差异(圈儿大),但在蓝紫色区域,较小的变化,就能引起视觉差异(圈儿小)。因此,CIE1931-XYZ不能用来计算色差。因此,寻找均匀的颜色空间,进而描述色差,成为了这个领域人们的重要研究方向。
图1 麦克亚当[1]椭圆 (图片来源:参考资料[2])
CIE1976LAB:自1931年起,专家们先后提出了几十种均匀的颜色空间,在1976年之前,CIE就分别推荐了CIE1960UCS和CIEWUV两种空间,但都不是很理想。直到1976年,CIE向大家推荐了CIE LAB 色空间,具有很好的视觉均匀性、可以很好的描述色差。这个模型与CIEXYZ色度系统之间的转换关系如下:
Xn,Yn,Zn是照明体的三刺激值。在CIELAB色空间,彩度(chroma)和色调角(hueangle)的定义是这样的:
注:这也叫CIEL*C*h*或CIELCH色空间。
由此,CIELAB色空间的色差公式的定义为:
细心的读者有可能发现了,这个就是三维空间的欧式距离啊,没错,CIELAB色空间色差的定义就是两个颜色在CIELAB色空间的欧式距离。这个公式一直沿用至今,现在依然是图像相关的领域很多公司的首选色差公式,虽然CIE一直在“强烈推荐”CIEDE2000。
然而,CIELAB色空间并非那么完美!
在CIELAB色空间中,色差是两个颜色坐标点的欧式距离,那意味着,只要距离相同,无论在哪个颜色区域,无论颜色的变化方向如何,色差都应该一样。实际情况是CIELAB并不完全均匀,不同区域的颜色、不同的方向,变化并非一致。相同色差感觉的实际区域,不是一个球形,而是一个椭球!因此,后来色差公式的改进,大部分都是以CIELAB为基础,在这个椭球上做文章,比如CMC(l:c)。
CMC(l:c) (CMC:英国颜色测量委员)色差公式基于CIELAB,作了一些修正,具体公式如下:
式中,纺织行业将l和c的取值设定为l = 2,c =1,SL,SC,SH分别是亮度、彩度、色调角的修正系数,具体取值如下:
经过修正,在CIELAB色空间一个个的圆球(二维平面就是圆形),就变成了一系列的椭球(椭圆),如图二所示。
图2 CMC(l:c)色差椭圆
CIE94色差公式和CMC类似,也是对CIELAB色差公式的修正,不同之处在于修正系数不一样,CIE94的色差公式和修正系数分别如下:
不论CMC还是CIE94,并没有提出新的色空间,只是针对CIELAB色差公式,分别给亮度、彩度、色调添加了一些修正系数,色差公式的基本结构都是类似甚至相同的。这一结构,也是很多色差公式采用的标准形式。CIE94计算较为简单,得到了一些应用场景的认可,但是这个公式的改善效果并不理想。
CIEDE2000:2001年,在经过了大量色差样本的评估、大量的视觉实验的基础上,CIE正式向大家推荐了CIE DE2000色差公式。公式和修正系数如下:
CIEDE2000现在是CIE主要推广的色差公式,事实上,大家也应该尽可能的用这个色差公式。如果大家以前的数据库都是CIELAB的,只要保留了原始的LAB色度数据,就可以用CIE2000公式重新计算。
下图为一个常见的用于测试颜色准确性的色差图。图里的椭圆就是4倍的CIEDE2000单位椭圆,借助椭圆,大家可以估计颜色还原的偏离程度及其在视觉感知上的差异性。
图3 CIEDE2000椭圆(图像用美国软件生成,图中参数请参考[4])
以上四个色差公式,是大家在一些常见的颜色、图像软件中可以看到的。但实际上,色差公式远不止这些,从CIE1931色度系统建立之后,就出现了多达几十种色差公式,下面简单罗列几个具有代表性的公式。
Adams-Nickerson公式(1942)
这个公式是对CIEXYZ色空间的不均性的修正,下面公式里的VX,VY,VZ就是由CIEXYZ变换而来。
Hunter公式(1948)
这个公式的色差计算与CIE1976公式类似,但是色度值LAB计算方法与CIELAB不一样。
公式里的XYZ与CIEXYZ的定义相同,用这个公式里的LAB也叫Hunter-LAB。
CIELUV公式(1976)
CIELUV是与CIELAB几乎同时期的色空间,因其u' v'的计算方法的特性,使其在光源、显示等领域得到了非常广泛的应用。CIELUV色空间的计算方法及色差公式如下:
国际照明委员会改进了原有的CIE1964W*U*V*颜色空间,提出采用如下的L*u*v*作为三维直角坐标的颜色空间,称为CIELUV颜色空间,它主要用于如电视工业等加混色的表示和评价。在该空间中,L*为明度,u*、v*表示颜色的色品坐标,其计算公式为:
式中:u'、v'和u'n、v'n分别是颜色样品和CIE标准照明体的CIE1976UCS图色品坐标,即:
式中:X、Y、Z为颜色样品的三刺激值,Xn、Yn、Zn为CIE标准照明体照射在完全漫反射体上,然后反射到观察者眼中的三刺激值,其中Yn=100。
CIE在1976年推荐用于加混色的CIELUV颜色空间的同时,还推荐了主要用于如印刷、纺织、印染等表面色料工业减混色的表示和评价的CIE1976L*a*b*颜色空间,也称为CIELAB颜色空间。
在CIELAB颜色空间中,不同区域的色差容限相对比较接近,颜色样品在此空间中的位置由三维的直角坐标表示。L*、a*、b*的值可以从三刺激值(X,Y,Z)计算出来,其中L*表示颜色的明度,a*表示该颜色在红一绿轴方向的投影位置,b*则表示颜色在黄一蓝轴方向的投影位置。在此颜色空间中,视觉对色差的可察觉性可以用椭球体来表示,球体的三个轴分别代表明度、饱和度(彩度)和色调,其大小由该颜色在颜色空间中的位置所决定(如该球体在黄色区域时比绿色区域变得更狭长)。
作为该空间三维直角坐标的明度L*和色品坐标a*、b*的计算公式为:
式中:X、Y、Z为颜色样品的三刺激值,Xn、Yn、Zn为CIE标准照明体照射在完全漫反射体上,然后反射到观察者眼中的三刺激值,其中Yn=100。
从上面的计算公式可见,CIELUV颜色空间中的L*和CIELAB颜色空间中的L*、a*、b*所适用的三刺激值是有条件限制的,即:
在CIELUV和CIELAB颜色空间中,以两个被比较颜色点的欧氏距离表示色差,同时还各有一组与心理量近似对应的感知属性,即明度、彩度、色调角及色调差(以下标“uv”和“ab”来区分CIELUV和CIELAB颜色空间)。
在CIELUV颜色空间中,两个颜色(L*1,u*1,v*1)和(L*2,u*2,v*2)之间的色差△E*uv为:
在CIELAB颜色空间中,两个颜色(L*1,a*1,b*1)和(L*2,a*2,b*2)之间的色差△E*ab为:
在CIELUV和CIELAB两个颜色空间中明度指数L*是一致的,即:
在等明度平面上坐标原点到色品坐标(u*,v*)或(a*,b*)的距离为彩度C*uv或C*ab,即:
在CIELUV和CIELAB颜色空间中色调角huv和hab分别为:
在等明度的a*b*平面上,+a*为红色方向(值愈大表示对应的颜色愈红),-a*为绿色方向(值愈小则颜色愈绿),+b*为黄色方向(值愈大则颜色愈黄),-b*为蓝色方向(值愈小则颜色愈蓝)。
色差也可以用明度差(△L*)、彩度差(△C*)和色调差(△H*)这些分项色差来定义,即:
所以色调差ΔH*为:
并规定,当色调角h增加时,色调差△H*为正;当h减少时,△H*为负。