Page 173 - Computational Colour Science Using MATLAB
P. 173

160                CHARACTERIZATION OF PRINTERS

                    % testxyz is a 144 by 3 matrix of XYZ values

                    white = [95.047 100.000 108.883];

                    trainrgb = 1 - trainrgb/255;
                    testrgb = 1 - testrgb/255;

                    traintarget = zeros(729,3);
                    for i = 1:729
                      traintarget(i,:) = log(trainxyz(i,:)./white);
                    end

                    % the construction of the augmented matrix is shown in
                    % full below for clarity
                    trainmat = zeros(729,20);
                    for i = 1:729
                      trainmat(i,1) trainrgb(i,1);
                      trainmat(i,2) = trainrgb(i,2);
                      trainmat(i,3) = trainrgb(i,3);
                      trainmat(i,4) = trainrgb(i,1)*trainrgb(i,2);
                      trainmat(i,5) = trainrgb(i,1)*trainrgb(i,3);
                      trainmat(i,6) = trainrgb(i,2)*trainrgb(i,3);
                      trainmat(i,7) = trainrgb(i,1)*trainrgb(i,1);
                      trainmat(i,8) = trainrgb(i,2)*trainrgb(i,2);
                      trainmat(i,9) = trainrgb(i,3)*trainrgb(i,3);
                      trainmat(i,10) = trainrgb(i,1)*trainrgb(i,1*...
                        trainrgb(i,2);
                      trainmat(i,11) trainrgb(i,1)*trainrgb(i,1)*...
                        trainrgb(i,3);
                      trainmat(i,12) = trainrgb(i,2)*trainrgb(i,2)*...
                        trainrgb(i,1);
                      trainmat(i,13) = trainrgb(i,2)*trainrgb(i,2)*...
                        trainrgb(i,3);
                      trainmat(i,14) = trainrgb(i,3)*trainrgb(i,3)*...
                        trainrgb(i,1);
                      trainmat(i,15) = trainrgb(i,3)*trainrgb(i,3)*...
                        trainrgb(i,2);
                      trainmat(i,16) = trainrgb(i,1)*trainrgb(i,1)*...
                        trainrgb(i,1);
                      trainmat(i,17) trainrgb(i,2)*trainrgb(i,2)*...
                        trainrgb(i,2);
                      trainmat(i,18) = trainrgb(i,3)*trainrgb(i,3)*...
                        trainrgb(i,3);
   168   169   170   171   172   173   174   175   176   177   178