clear; clc; % Load image (Type : UINT8) gambar1 = imread('Banana/1.jpg'); gambar2 = imread('Banana/2.jpg'); gambar3 = imread('Banana/3.jpg'); gambar4 = imread('Banana/4.jpg'); gambar5 = imread('Banana/5.jpg'); gambar6 = imread('Banana/6.jpg'); gambar7 = imread('Banana/7.jpg'); gambar8 = imread('Banana/8.jpg'); gambar9 = imread('Banana/9.jpg'); gambar10 = imread('Banana/10.jpg'); gambar11 = imread('Kiwi/1.jpg'); gambar12 = imread('Kiwi/2.jpg'); gambar13 = imread('Kiwi/3.jpg'); gambar14 = imread('Kiwi/4.jpg'); gambar15 = imread('Kiwi/5.jpg'); gambar16 = imread('Kiwi/6.jpg'); gambar17 = imread('Kiwi/7.jpg'); gambar18 = imread('Kiwi/8.jpg'); gambar19 = imread('Kiwi/9.jpg'); gambar20 = imread('Kiwi/10.jpg'); gambar21 = imread('Orange/1.jpg'); gambar22 = imread('Orange/2.jpg'); gambar23 = imread('Orange/3.jpg'); gambar24 = imread('Orange/4.jpg'); gambar25 = imread('Orange/5.jpg'); gambar26 = imread('Orange/6.jpg'); gambar27 = imread('Orange/7.jpg'); gambar28 = imread('Orange/8.jpg'); gambar29 = imread('Orange/9.jpg'); gambar30 = imread('Orange/10.jpg'); % Konversi UINT8 menjadi double agar dapat di operasikan komputasinya gambar1 = double(gambar1); gambar2 = double(gambar2); gambar3 = double(gambar3); gambar4 = double(gambar4); gambar5 = double(gambar5); gambar6 = double(gambar6); gambar7 = double(gambar7); gambar8 = double(gambar8); gambar9 = double(gambar9); gambar10 = double(gambar10); gambar11 = double(gambar11); gambar12 = double(gambar12); gambar13 = double(gambar13); gambar14 = double(gambar14); gambar15 = double(gambar15); gambar16 = double(gambar16); gambar17 = double(gambar17); gambar18 = double(gambar18); gambar19 = double(gambar19); gambar20 = double(gambar20); gambar21 = double(gambar21); gambar22 = double(gambar22); gambar23 = double(gambar23); gambar24 = double(gambar24); gambar25 = double(gambar25); gambar26 = double(gambar26); gambar27 = double(gambar27); gambar28 = double(gambar28); gambar29 = double(gambar29); gambar30 = double(gambar30); % 1,2,3 itu layer, RGB itu warnanya gambar1R = gambar1(:,:,1); % layer 1 gambar1G = gambar1(:,:,2); % layer 2 gambar1B = gambar1(:,:,3); % layer 3 gambar2R = gambar2(:,:,1); gambar2G = gambar2(:,:,2); gambar2B = gambar2(:,:,3); gambar3R = gambar3(:,:,1); gambar3G = gambar3(:,:,2); gambar3B = gambar3(:,:,3); gambar4R = gambar4(:,:,1); gambar4G = gambar4(:,:,2); gambar4B = gambar4(:,:,3); gambar5R = gambar5(:,:,1); gambar5G = gambar5(:,:,2); gambar5B = gambar5(:,:,3); gambar6R = gambar6(:,:,1); gambar6G = gambar6(:,:,2); gambar6B = gambar6(:,:,3); gambar7R = gambar7(:,:,1); gambar7G = gambar7(:,:,2); gambar7B = gambar7(:,:,3); gambar8R = gambar8(:,:,1); gambar8G = gambar8(:,:,2); gambar8B = gambar8(:,:,3); gambar9R = gambar9(:,:,1); gambar9G = gambar9(:,:,2); gambar9B = gambar9(:,:,3); gambar10R = gambar10(:,:,1); gambar10G = gambar10(:,:,2); gambar10B = gambar10(:,:,3); gambar11R = gambar11(:,:,1); gambar11G = gambar11(:,:,2); gambar11B = gambar11(:,:,3); gambar12R = gambar12(:,:,1); gambar12G = gambar12(:,:,2); gambar12B = gambar12(:,:,3); gambar13R = gambar13(:,:,1); gambar13G = gambar13(:,:,2); gambar13B = gambar13(:,:,3); gambar14R = gambar14(:,:,1); gambar14G = gambar14(:,:,2); gambar14B = gambar14(:,:,3); gambar15R = gambar15(:,:,1); gambar15G = gambar15(:,:,2); gambar15B = gambar15(:,:,3); gambar16R = gambar16(:,:,1); gambar16G = gambar16(:,:,2); gambar16B = gambar16(:,:,3); gambar17R = gambar17(:,:,1); gambar17G = gambar17(:,:,2); gambar17B = gambar17(:,:,3); gambar18R = gambar18(:,:,1); gambar18G = gambar18(:,:,2); gambar18B = gambar18(:,:,3); gambar19R = gambar19(:,:,1); gambar19G = gambar19(:,:,2); gambar19B = gambar19(:,:,3); gambar20R = gambar20(:,:,1); gambar20G = gambar20(:,:,2); gambar20B = gambar20(:,:,3); gambar21R = gambar21(:,:,1); gambar21G = gambar21(:,:,2); gambar21B = gambar21(:,:,3); gambar22R = gambar22(:,:,1); gambar22G = gambar22(:,:,2); gambar22B = gambar22(:,:,3); gambar23R = gambar23(:,:,1); gambar23G = gambar23(:,:,2); gambar23B = gambar23(:,:,3); gambar24R = gambar24(:,:,1); gambar24G = gambar24(:,:,2); gambar24B = gambar24(:,:,3); gambar25R = gambar25(:,:,1); gambar25G = gambar25(:,:,2); gambar25B = gambar25(:,:,3); gambar26R = gambar26(:,:,1); gambar26G = gambar26(:,:,2); gambar26B = gambar26(:,:,3); gambar27R = gambar27(:,:,1); gambar27G = gambar27(:,:,2); gambar27B = gambar27(:,:,3); gambar28R = gambar28(:,:,1); gambar28G = gambar28(:,:,2); gambar28B = gambar28(:,:,3); gambar29R = gambar29(:,:,1); gambar29G = gambar29(:,:,2); gambar29B = gambar29(:,:,3); gambar30R = gambar30(:,:,1); gambar30G = gambar30(:,:,2); gambar30B = gambar30(:,:,3); [n,p] = size(gambar1R); k = 1; for i=1:n for j=1:p vgambar1R(k,1) = gambar1R(i,j); vgambar1G(k,1) = gambar1G(i,j); vgambar1B(k,1) = gambar1B(i,j); mat_gambar1 = [vgambar1R, vgambar1G, vgambar1B]; vgambar2R(k,1) = gambar2R(i,j); vgambar2G(k,1) = gambar2G(i,j); vgambar2B(k,1) = gambar2B(i,j); mat_gambar2 = [vgambar2R, vgambar2G, vgambar2B]; vgambar3R(k,1) = gambar3R(i,j); vgambar3G(k,1) = gambar3G(i,j); vgambar3B(k,1) = gambar3B(i,j); mat_gambar3 = [vgambar3R, vgambar3G, vgambar3B]; vgambar4R(k,1) = gambar4R(i,j); vgambar4G(k,1) = gambar4G(i,j); vgambar4B(k,1) = gambar4B(i,j); mat_gambar4 = [vgambar4R, vgambar4G, vgambar4B]; vgambar5R(k,1) = gambar5R(i,j); vgambar5G(k,1) = gambar5G(i,j); vgambar5B(k,1) = gambar5B(i,j); mat_gambar5 = [vgambar5R, vgambar5G, vgambar5B]; vgambar6R(k,1) = gambar6R(i,j); vgambar6G(k,1) = gambar6G(i,j); vgambar6B(k,1) = gambar6B(i,j); mat_gambar6 = [vgambar6R, vgambar6G, vgambar6B]; vgambar7R(k,1) = gambar7R(i,j); vgambar7G(k,1) = gambar7G(i,j); vgambar7B(k,1) = gambar7B(i,j); mat_gambar7 = [vgambar7R, vgambar7G, vgambar7B]; vgambar8R(k,1) = gambar8R(i,j); vgambar8G(k,1) = gambar8G(i,j); vgambar8B(k,1) = gambar8B(i,j); mat_gambar8 = [vgambar8R, vgambar8G, vgambar8B]; vgambar9R(k,1) = gambar9R(i,j); vgambar9G(k,1) = gambar9G(i,j); vgambar9B(k,1) = gambar9B(i,j); mat_gambar9 = [vgambar9R, vgambar9G, vgambar9B]; vgambar10R(k,1) = gambar10R(i,j); vgambar10G(k,1) = gambar10G(i,j); vgambar10B(k,1) = gambar10B(i,j); mat_gambar10 = [vgambar10R, vgambar10G, vgambar10B]; vgambar11R(k,1) = gambar11R(i,j); vgambar11G(k,1) = gambar11G(i,j); vgambar11B(k,1) = gambar11B(i,j); mat_gambar11 = [vgambar11R, vgambar11G, vgambar11B]; vgambar12R(k,1) = gambar12R(i,j); vgambar12G(k,1) = gambar12G(i,j); vgambar12B(k,1) = gambar12B(i,j); mat_gambar12 = [vgambar12R, vgambar12G, vgambar12B]; vgambar13R(k,1) = gambar13R(i,j); vgambar13G(k,1) = gambar13G(i,j); vgambar13B(k,1) = gambar13B(i,j); mat_gambar13 = [vgambar13R, vgambar13G, vgambar13B]; vgambar14R(k,1) = gambar14R(i,j); vgambar14G(k,1) = gambar14G(i,j); vgambar14B(k,1) = gambar14B(i,j); mat_gambar14 = [vgambar14R, vgambar14G, vgambar14B]; vgambar15R(k,1) = gambar15R(i,j); vgambar15G(k,1) = gambar15G(i,j); vgambar15B(k,1) = gambar15B(i,j); mat_gambar15 = [vgambar15R, vgambar15G, vgambar15B]; vgambar16R(k,1) = gambar16R(i,j); vgambar16G(k,1) = gambar16G(i,j); vgambar16B(k,1) = gambar16B(i,j); mat_gambar16 = [vgambar16R, vgambar16G, vgambar16B]; vgambar17R(k,1) = gambar17R(i,j); vgambar17G(k,1) = gambar17G(i,j); vgambar17B(k,1) = gambar17B(i,j); mat_gambar17 = [vgambar17R, vgambar17G, vgambar17B]; vgambar18R(k,1) = gambar18R(i,j); vgambar18G(k,1) = gambar18G(i,j); vgambar18B(k,1) = gambar18B(i,j); mat_gambar18 = [vgambar18R, vgambar18G, vgambar18B]; vgambar19R(k,1) = gambar19R(i,j); vgambar19G(k,1) = gambar19G(i,j); vgambar19B(k,1) = gambar19B(i,j); mat_gambar19 = [vgambar19R, vgambar19G, vgambar19B]; vgambar20R(k,1) = gambar20R(i,j); vgambar20G(k,1) = gambar20G(i,j); vgambar20B(k,1) = gambar20B(i,j); mat_gambar20 = [vgambar20R, vgambar20G, vgambar20B]; vgambar21R(k,1) = gambar21R(i,j); vgambar21G(k,1) = gambar21G(i,j); vgambar21B(k,1) = gambar21B(i,j); mat_gambar21 = [vgambar21R, vgambar21G, vgambar21B]; vgambar22R(k,1) = gambar22R(i,j); vgambar22G(k,1) = gambar22G(i,j); vgambar22B(k,1) = gambar22B(i,j); mat_gambar22 = [vgambar22R, vgambar22G, vgambar22B]; vgambar23R(k,1) = gambar23R(i,j); vgambar23G(k,1) = gambar23G(i,j); vgambar23B(k,1) = gambar23B(i,j); mat_gambar23 = [vgambar23R, vgambar23G, vgambar23B]; vgambar24R(k,1) = gambar24R(i,j); vgambar24G(k,1) = gambar24G(i,j); vgambar24B(k,1) = gambar24B(i,j); mat_gambar24 = [vgambar24R, vgambar24G, vgambar24B]; vgambar25R(k,1) = gambar25R(i,j); vgambar25G(k,1) = gambar25G(i,j); vgambar25B(k,1) = gambar25B(i,j); mat_gambar25 = [vgambar25R, vgambar25G, vgambar25B]; vgambar26R(k,1) = gambar26R(i,j); vgambar26G(k,1) = gambar26G(i,j); vgambar26B(k,1) = gambar26B(i,j); mat_gambar26 = [vgambar26R, vgambar26G, vgambar26B]; vgambar27R(k,1) = gambar27R(i,j); vgambar27G(k,1) = gambar27G(i,j); vgambar27B(k,1) = gambar27B(i,j); mat_gambar27 = [vgambar27R, vgambar27G, vgambar27B]; vgambar28R(k,1) = gambar28R(i,j); vgambar28G(k,1) = gambar28G(i,j); vgambar28B(k,1) = gambar28B(i,j); mat_gambar28 = [vgambar28R, vgambar28G, vgambar28B]; vgambar29R(k,1) = gambar29R(i,j); vgambar29G(k,1) = gambar29G(i,j); vgambar29B(k,1) = gambar29B(i,j); mat_gambar29 = [vgambar29R, vgambar29G, vgambar29B]; vgambar30R(k,1) = gambar30R(i,j); vgambar30G(k,1) = gambar30G(i,j); vgambar30B(k,1) = gambar30B(i,j); mat_gambar30 = [vgambar30R, vgambar30G, vgambar30B]; k = k + 1; end end % Merubah RGB ke Greyscale GYS1 = 0.299 * mat_gambar1(:,1) + 0.587 * mat_gambar1(:,2) + 0.114 * mat_gambar1(:,3); GYS2 = 0.299 * mat_gambar2(:,1) + 0.587 * mat_gambar2(:,2) + 0.114 * mat_gambar2(:,3); GYS3 = 0.299 * mat_gambar3(:,1) + 0.587 * mat_gambar3(:,2) + 0.114 * mat_gambar3(:,3); GYS4 = 0.299 * mat_gambar4(:,1) + 0.587 * mat_gambar4(:,2) + 0.114 * mat_gambar4(:,3); GYS5 = 0.299 * mat_gambar5(:,1) + 0.587 * mat_gambar5(:,2) + 0.114 * mat_gambar5(:,3); GYS6 = 0.299 * mat_gambar6(:,1) + 0.587 * mat_gambar6(:,2) + 0.114 * mat_gambar6(:,3); GYS7 = 0.299 * mat_gambar7(:,1) + 0.587 * mat_gambar7(:,2) + 0.114 * mat_gambar7(:,3); GYS8 = 0.299 * mat_gambar8(:,1) + 0.587 * mat_gambar8(:,2) + 0.114 * mat_gambar8(:,3); GYS9 = 0.299 * mat_gambar9(:,1) + 0.587 * mat_gambar9(:,2) + 0.114 * mat_gambar9(:,3); GYS10 = 0.299 * mat_gambar10(:,1) + 0.587 * mat_gambar10(:,2) + 0.114 * mat_gambar10(:,3); GYS11 = 0.299 * mat_gambar11(:,1) + 0.587 * mat_gambar11(:,2) + 0.114 * mat_gambar11(:,3); GYS12 = 0.299 * mat_gambar12(:,1) + 0.587 * mat_gambar12(:,2) + 0.114 * mat_gambar12(:,3); GYS13 = 0.299 * mat_gambar13(:,1) + 0.587 * mat_gambar13(:,2) + 0.114 * mat_gambar13(:,3); GYS14 = 0.299 * mat_gambar14(:,1) + 0.587 * mat_gambar14(:,2) + 0.114 * mat_gambar14(:,3); GYS15 = 0.299 * mat_gambar15(:,1) + 0.587 * mat_gambar15(:,2) + 0.114 * mat_gambar15(:,3); GYS16 = 0.299 * mat_gambar16(:,1) + 0.587 * mat_gambar16(:,2) + 0.114 * mat_gambar16(:,3); GYS17 = 0.299 * mat_gambar17(:,1) + 0.587 * mat_gambar17(:,2) + 0.114 * mat_gambar17(:,3); GYS18 = 0.299 * mat_gambar18(:,1) + 0.587 * mat_gambar18(:,2) + 0.114 * mat_gambar18(:,3); GYS19 = 0.299 * mat_gambar19(:,1) + 0.587 * mat_gambar19(:,2) + 0.114 * mat_gambar19(:,3); GYS20 = 0.299 * mat_gambar20(:,1) + 0.587 * mat_gambar20(:,2) + 0.114 * mat_gambar20(:,3); GYS21 = 0.299 * mat_gambar21(:,1) + 0.587 * mat_gambar21(:,2) + 0.114 * mat_gambar21(:,3); GYS22 = 0.299 * mat_gambar22(:,1) + 0.587 * mat_gambar22(:,2) + 0.114 * mat_gambar22(:,3); GYS23 = 0.299 * mat_gambar23(:,1) + 0.587 * mat_gambar23(:,2) + 0.114 * mat_gambar23(:,3); GYS24 = 0.299 * mat_gambar24(:,1) + 0.587 * mat_gambar24(:,2) + 0.114 * mat_gambar24(:,3); GYS25 = 0.299 * mat_gambar25(:,1) + 0.587 * mat_gambar25(:,2) + 0.114 * mat_gambar25(:,3); GYS26 = 0.299 * mat_gambar26(:,1) + 0.587 * mat_gambar26(:,2) + 0.114 * mat_gambar26(:,3); GYS27 = 0.299 * mat_gambar27(:,1) + 0.587 * mat_gambar27(:,2) + 0.114 * mat_gambar27(:,3); GYS28 = 0.299 * mat_gambar28(:,1) + 0.587 * mat_gambar28(:,2) + 0.114 * mat_gambar28(:,3); GYS29 = 0.299 * mat_gambar29(:,1) + 0.587 * mat_gambar29(:,2) + 0.114 * mat_gambar29(:,3); GYS30 = 0.299 * mat_gambar30(:,1) + 0.587 * mat_gambar30(:,2) + 0.114 * mat_gambar30(:,3); GYS1 = GYS1'; GYS2 = GYS2'; GYS3 = GYS3'; GYS4 = GYS4'; GYS5 = GYS5'; GYS6 = GYS6'; GYS7 = GYS7'; GYS8 = GYS8'; GYS9 = GYS9'; GYS10 = GYS10'; GYS11 = GYS11'; GYS12 = GYS12'; GYS13 = GYS13'; GYS14 = GYS14'; GYS15 = GYS15'; GYS16 = GYS16'; GYS17 = GYS17'; GYS18 = GYS18'; GYS19 = GYS19'; GYS20 = GYS20'; GYS21 = GYS21'; GYS22 = GYS22'; GYS23 = GYS23'; GYS24 = GYS24'; GYS25 = GYS25'; GYS26 = GYS26'; GYS27 = GYS27'; GYS28 = GYS28'; GYS29 = GYS29'; GYS30 = GYS30'; DataGYS = [GYS1; GYS2; GYS3; GYS4; GYS5; GYS6; GYS7; GYS8; GYS9; GYS10; GYS11; GYS12; GYS13; GYS14; GYS15; GYS16; GYS17; GYS18; GYS19; GYS20; GYS21; GYS22; GYS23; GYS24; GYS25; GYS26; GYS27; GYS28; GYS29; GYS30;]; [n,p] = size(DataGYS); Xrata = mean(DataGYS); for i = 1:n Z(i, :) = DataGYS(i, :) - Xrata; end S = cov(DataGYS); for i = 1:n for j = 1:p Zr(i,j) = Z(i,j) / sqrt(S(j,j)); % Zr adalah data hasil normalisasi end end Zcov = cov(Zr); [VA, DA] = eig(Zcov); m = 1 for i = p:-1:1 DA_urut(m,m) = DA(i,i); VA_urut(m,:) = VA(i,:); m = m+1; end for i = 1:p eValue(i,1) = DA_urut(i,i); end Total = sum(eValue) PK = 0; komponen = 0;%jumlah komponen utama yang dipertahankan for j = 1:p proporsiValue(j,:) = eValue(j,1) / Total;%mengukur seberapa besar kontribusi eigenvalue ke-j terhadap varians total data. if(PK < 0.9) % Nilai PK tergantung peneliti --> 0.8 PK = PK + proporsiValue(j, :); komponen = komponen + 1; end end VA_Komponen = VA_urut(:,1:komponen) W = Z * VA_Komponen plot3(W(:,1), W(:,2), W(:,3), '*') grid on