CIE RGB转化到CIE XYZ
由于CIE RGB空间在描述色彩时会出现负值,因此为了方便计算(1931年),CIE提出了一种新的色彩空间 CIE XYZ。
转换公式如下:
可见,该变换为线性变换。
进行逆变换时矩阵求逆即可。
CIE XYZ到Lab空间
Lab空间的L代表亮度,a和b为颜色对立维度。注意,此Lab空间一般指CIE 1976(L*, a*, b*) 色彩空间,而非Hunter 1948 L, a, b色彩空间。因此Lab空间的坐标其实是 L*, a* 和 b*。
对两个色彩进行比较时,一般放到Lab空间中求解欧式距离,并称之为 Delta E(或∆E,更精准的描述为∆E_ab^*)。计算公式如下:
另一个比较方式为求解Delta C,即不考虑L的部分,只考虑Delta E在ab平面的投影,即
同时,从XYZ空间到Lab空间的转换公式为
其中
且
X
n
、
Y
n
、
Z
n
\ X_n、Y_n、Z_n
Xn、Yn、Zn为参考白点的CIE XYZ三色刺激值。
之所以将
f
(
t
)
\ f\left(t\right)
f(t)分为两个部分是为了避免在t = 0处出现无限斜率。
从Lab空间到XYZ空间的转换公式为
- 定义 f y = d e f ( L ∗ + 16 ) / 116 \ f_y\ \stackrel{\mathrm{def}}{=}\ (L^*+16)/116 fy =def (L∗+16)/116
- 定义 f x = d e f f y + a ∗ / 500 \ f_x\ \stackrel{\mathrm{def}}{=}\ f_y+a^*/500 fx =def fy+a∗/500
- 定义 f z = d e f f y − b ∗ / 200 \ f_z\ \stackrel{\mathrm{def}}{=}\ f_y-b^*/200 fz =def fy−b∗/200
- 如果 f y > δ \ f_y > \delta\, fy>δ则 Y = Y n f y 3 \ Y=Y_nf_y^3\, Y=Ynfy3 否则 Y = ( f y − 16 / 116 ) 3 δ 2 Y n \ Y=(f_y-16/116)3\delta^2Y_n\, Y=(fy−16/116)3δ2Yn
- 如果 f x > δ \ f_x > \delta\, fx>δ则 X = X n f x 3 \ X=X_nf_x^3\, X=Xnfx3 否则 X = ( f x − 16 / 116 ) 3 δ 2 X n \ X=(f_x-16/116)3\delta^2X_n\, X=(fx−16/116)3δ2Xn
- 如果 f z > δ \ f_z > \delta\, fz>δ则 Z = Z n f z 3 \ Z=Z_nf_z^3\, Z=Znfz3 否则 Z = ( f z − 16 / 116 ) 3 δ 2 Z n \ Z=(f_z-16/116)3\delta^2Z_n\, Z=(fz−16/116)3δ2Zn
其中 δ = 6 / 29 \ \delta=6/29 \, δ=6/29