很多用戶對于三刺激值和Lab顏色空間的相互轉換不是很了解,本文就為大家簡單的介紹一下三刺激值計算lab的方法,對顏色校對感興趣的朋友,不妨來看看吧!
RGB與Lab顏色空間互相轉換:
同RGB顏色空間相比,Lab是一種不常用的色彩空間。它是在1931年國際照明委員會(CIE)制定的顏色度量國際標準的基礎上建立起來的。1976年,經修改后被正式命名為CIELab。它是一種設備無關的顏色系統(tǒng),也是一種基于生理特征的顏色系統(tǒng)。這也就意味著,它是用數字化的方法來描述人的視覺感應。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的方法”全部內容,想了解更多顏色管理知識的用戶,可以繼續(xù)關注本站的后續(xù)更新!