很多用户对于三刺激值和Lab颜色空间的相互转换不是很了解,本文就为大家简单的介绍一下三刺激值计算lab的方法,对颜色校对感兴趣的朋友,不妨来看看吧!
RGB与Lab颜色空间互相转换:
同RGB颜色空间相比,Lab是一种不常用的色彩空间。它是在1931年国际照明委员会(CIE)制定的颜色度量国际标准的基础上建立起来的。1976年,经修改后被正式命名为CIELab。它是一种设备无关的颜色系统,也是一种基于生理特征的颜色系统。这也就意味着,它是用数字化的方法来描述人的视觉感应。Lab颜色空间中的L分量用于表示像素的亮度,取值范围是[0,100],表示从纯黑到纯白;a表示从红色到绿色的范围,取值范围是[127,-128];b表示从黄色到蓝色的范围,取值范围是[127,-128]。
RGB颜色空间不能直接转换为Lab颜色空间,需要借助XYZ颜色空间,把RGB颜色空间转换到XYZ颜色空间,之后再把XYZ颜色空间转换到Lab颜色空间。
由XYZ三刺激值,得到Lab值:
function [ Lab ] = XYZ2Lab( XYZ,XYZ0 )
% XYZ数据转换为Lab数据,可批量处理
% 输入原始XYZ数据, n*3 矩阵
% 输入使用的光源的三刺激值XYZ0,1*3矩阵
X=XYZ(:,1);
Y=XYZ(:,2);
Z=XYZ(:,3);
X0=XYZ0(:,1);
Y0=XYZ0(:,2);
Z0=XYZ0(:,3);
L=116*f(Y./Y0)-16;
a=500*(f(X./X0)-f(Y./Y0));
b=200*(f(Y./Y0)-f(Z./Z0));
Lab(:,1)=L;
Lab(:,2)=a;
Lab(:,3)=b;
function [ ff ] = f( I )
if ( I > 0.008856 )
ff = I.^(1.0/3);
else
ff = 7.787*I+16.0/116;
end
LAB转换XYZ的方法:
CIE-L*ab —> XYZ
1.var_Y = ( CIE-L* + 16 ) / 116
2.var_X = CIE-a* / 500 + var_Y
3.var_Z = var_Y - CIE-b* / 200
4.if ( var_Y^3 > 0.008856 ) var_Y = var_Y^3
5.else var_Y = ( var_Y - 16 / 116 ) / 7.787
6.if ( var_X^3 > 0.008856 ) var_X = var_X^3
7.else var_X = ( var_X - 16 / 116 ) / 7.787
8.if ( var_Z^3 > 0.008856 ) var_Z = var_Z^3
9.else var_Z = ( var_Z - 16 / 116 ) / 7.787
10.X = ref_X * var_X //ref_X = 95.047 Observer= 2°, Illuminant= D65
11.Y = ref_Y * var_Y //ref_Y = 100.000
12.Z = ref_Z * var_Z //ref_Z = 108.883
以上就是小编搜集整理的“三刺激值计算lab的方法”全部内容,想了解更多颜色管理知识的用户,可以继续关注本站的后续更新!