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
   114   115   116   117   118   119   120   121   122   123   124