Page 77 - Computational Colour Science Using MATLAB
P. 77
64 COMPUTING COLOUR DIFFERENCE
Box 7: xyz2luv.m
function [luv,uprime,vprime] = xyz2luv(xyz,obs)
% function [luv,uprime,vprime] = xyz2luv(xyz,obs)
% computes CIELUV Luv values from XYZ tristimulus values
% uprime and vprime are the CIE 1976 UCS coordinates
% requires the illuminant/observer obs to define white
% point
% see function r2xyz for valid values for obs
if strcmp(’a___64’,obs)
white=[111.144 100.00 35.200];
elseif strcmp(’a___31’, obs)
white=[109.074 100.00 35.585];
elseif strcmp(’c___64’, obs)
white=[97.285 100.00 116.145];
elseif strcmp(’c___31’, obs)
white=[98.074 100.00 118.232];
elseif strcmp(’d50___64’, obs)
white=[96.720 100.00 81.427];
elseif strcmp(’d___50’, obs)
white=[96.422 100.00 82.521];
elseif strcmp(’d55___64’, obs)
white=[95.799 100.00 90.926];
elseif strcmp(’d55___31’, obs)
white=[95.682 100.00 92.149];
elseif strcmp(’d65___64’, obs)
white=[94.811 100.00 107.304];
elseif strcmp(’d65___31’, obs)
white=[95.047 100.00 108.883];
elseif strcmp(’d75___64’, obs)
white=[94.416 100.00 120.641];
elseif strcmp(’d75___31’, obs)
white=[94.072 100.00 122.638];
elseif strcmp(’f2___64’, obs)
white=[103.279 100.00 69.027];
elseif strcmp(’f2___31’, obs)
white=[99.186 100.00 67.393];
elseif strcmp(’f7___64’, obs)
white=[95.792 100.00 107.686];