Page 119 - Computational Colour Science Using MATLAB
P. 119
106 CHROMATIC-ADAPTATION TRANSFORMS AND COLOUR APPEARANCE
end
% step 3
k = 1/(5*la + 1);
n = yb/xyzw(2);
ncb = 0.725*(1/n)^0.2;
nbb = ncb;
fl = (k^4)*la + 0.1*((1-k^4)^2)*((5*la)^(1/3));
% step 4
rgbp = MH*inv(MBFD)*(rgbc*xyz(2))’;
rgbpw = MH*inv(MBFD)*(rgbwc*xyzw(2))’;
% step 5
rgbpa = zeros(3,1);
for i = 1:3
x = fl*rgbp(i)/100;
y = abs(x)^0.73;
if x50
rgbpa(i) = 1.0 - 40.0*y/(y+2.0);
else
rgbpa(i) = 1.0 + 40.0*y/(y+2.0);
end
end
rgbpwa = zeros(3,1);
for i = 1:3
x = fl*rgbpw(i)/100;
y = abs(x)^0.73;
if x50
rgbpwa(i) = 1.0 - 40.0*y/(y+2.0);
else
rgbpwa(i) = 1.0 + 40.0*y/(y+2.0);
end
end
% step 6
a = rgbpa(1) - 12*rgbpa(2)/11 + rgbpa(3)/11;
b = (rgbpa(1) + rgbpa(2) - 2*rgbpa(3))/9;
% step 7
[C,h] = car2pol([a b]);
% note that C is not used