A-1
1. Program Ekstraksi Local Derivative Pattern LDP
A = dir C:\MATLAB\R2012a\bin\database\.jpg
; folder citra
referensi T=[];
for i = 1 : lengthA
namafile = fullfile C:\MATLAB\R2012a\bin\database
,Ai.name; I = imreadnamafile;
vein=imresizeI,[100 100]; M=rgb2grayvein;
ubah citra ke bentuk grayscale w=sizeM,1;
lebar citra h=sizeM,2;
tinggi citra ektraksi LDP
for i=3:w-2
for j=3:h-2
if Mi+1,j+1Mi+1,j Mi,jMi,j-1;
I1= 0; elseif
Mi+1,j+1Mi+1,j Mi,jMi,j-1; I1=0;
elseif Mi+1,j+1Mi+1,j Mi,jMi,j-1;
I1=1; else
Mi+1,j+1Mi+1,j Mi,jMi,j-1; I1=1;
end if
Mi+1,jMi+1,j-1 Mi,jMi,j-1; I2= 0;
elseif Mi+1,jMi+1,j-1 Mi,jMi,j-1;
I2=0; elseif
Mi+1,jMi+1,j-1 Mi,jMi,j-1; I2=1;
else Mi+1,jMi+1,j-1 Mi,jMi,j-1;
I2=1; end
if Mi+1,j-1Mi+1,j-2 Mi,jMi,j-1;
I3=0; elseif
Mi+1,j-1Mi+1,j-2 Mi,jMi,j-1; I3=0;
elseif Mi+1,j-1Mi+1,j-2 Mi,jMi,j-1;
I3=1; else
Mi+1,j-1Mi+1,j-2 Mi,jMi,j-1; I3=1;
end if
Mi,jMi,j-1 Mi,j-1Mi,j-2; I4= 0;
elseif Mi,jMi,j-1 Mi,j-1Mi,j-2;
I4=0; elseif
Mi,jMi,j-1 Mi,j-1Mi,j-2; I4=1;
else Mi,jMi,j-1 Mi,j-1Mi,j-2;
I4=1; End
A-2
if Mi,jMi,j-1 Mi-1,j-1Mi-1,j-2;
I5= 0; elseif
Mi,jMi,j-1 Mi-1,j-1Mi-1,j-2; I5=0;
elseif Mi,jMi,j-1 Mi-1,j-1Mi-1,j-2;
I5=1; else
Mi,jMi,j-1 Mi-1,j-1Mi-1,j-2; I5=1;
end if
Mi,jMi,j-1 Mi-1,jMi-1,j-1; I6= 0;
elseif Mi,jMi,j-1 Mi-1,jMi-1,j-1;
I6=0; elseif
Mi,jMi,j-1 Mi-1,jMi-1,j-1; I6=1;
else Mi,jMi,j-1 Mi-1,jMi-1,j-1;
I6=1; end
if Mi,jMi,j-1 Mi-1,j+1Mi-1,j;
I7= 0; elseif
Mi,jMi,j-1 Mi-1,j+1Mi-1,j; I7=0;
elseif Mi,jMi,j-1 Mi-1,j+1Mi-1,j;
I7=1; else
Mi,jMi,j-1 Mi-1,j+1Mi-1,j; I7=1;
End if
Mi,j+1Mi,j Mi,jMi,j-1; I8=0;
elseif Mi,j+1Mi,j Mi,jMi,j-1;
I8=0; elseif
Mi,j+1Mi,j Mi,jMi,j-1; I8=1;
else Mi,j+1Mi,j Mi,jMi,j-1;
I8=1; end
if Mi,jMi+1,j-1 Mi+1,j+1Mi+2,j;
I9= 0; elseif
Mi,jMi+1,j-1 Mi+1,j+1Mi+2,j; I9=0;
elseif Mi,jMi+1,j-1 Mi+1,j+1Mi+2,j;
I9=1; else
Mi,jMi+1,j-1 Mi+1,j+1Mi+2,j; I9=1;
end if
Mi,jMi+1,j-1 Mi+1,jMi+2,j-1; I10= 0;
elseif Mi,jMi+1,j-1 Mi+1,jMi+2,j-1;
I10=0; elseif
Mi,jMi+1,j-1 Mi+1,jMi+2,j-1; I10=1;
else Mi,jMi+1,j-1 Mi+1,jMi+2,j-1;
I10=1; end
A-3
if Mi,jMi+1,j-1 Mi+1,j-1Mi+2,j-2;
I11=0; elseif
Mi,jMi+1,j-1 Mi+1,j-1Mi+2,j-2; I11=0;
elseif Mi,jMi+1,j-1 Mi+1,j-1Mi+2,j-2;
I11=1; else
Mi,jMi+1,j-1 Mi+1,j-1Mi+2,j-2; I11=1;
end if
Mi,jMi+1,j-1 Mi,j-1Mi+1,j-2; I12= 0;
elseif Mi,jMi+1,j-1 Mi,j-1Mi+1,j-2;
I12=0; elseif
Mi,jMi+1,j-1 Mi,j-1Mi+1,j-2; I12=1;
else Mi,jMi+1,j-1 Mi,j-1Mi+1,j-2;
I12=1; end
if Mi,jMi+1,j-1 Mi-1,j-1Mi,j-2;
I13= 0; elseif
Mi,jMi+1,j-1 Mi-1,j-1Mi,j-2; I13=0;
elseif Mi,jMi+1,j-1 Mi-1,j-1Mi,j-2;
I13=1; else
Mi,jMi+1,j-1 Mi-1,j-1Mi,j-2; I13=1;
end if
Mi,jMi+1,j-1 Mi-1,jMi,j-1; I14= 0;
elseif Mi,jMi+1,j-1 Mi-1,jMi,j-1;
I14=0; elseif
Mi,jMi+1,j-1 Mi-1,jMi,j-1; I14=1;
else Mi,jMi+1,j-1 Mi-1,jMi,j-1;
I14=1; end
if Mi-1,j+1Mi,j Mi,jMi+1,j-1;
I15= 0; elseif
Mi-1,j+1Mi,j Mi,jMi+1,j-1; I15=0;
elseif Mi-1,j+1Mi,j Mi,jMi+1,j-1;
I15=1; else
Mi-1,j+1Mi,j Mi,jMi+1,j-1; I15=1;
end if
Mi,j+1Mi+1,j Mi,jMi+1,j-1; I16=0;
elseif Mi,j+1Mi+1,j Mi,jMi+1,j-1;
I16=0; elseif
Mi,j+1Mi+1,j Mi,jMi+1,j-1; I16=1;
else Mi,j+1Mi+1,j Mi,jMi+1,j-1;
I16=1; End
A-4
if Mi,jMi+1,j Mi+1,j+1Mi+2,j+1;
I17= 0; elseif
Mi,jMi+1,j Mi+1,j+1Mi+2,j+1; I17=0;
elseif Mi,jMi+1,j Mi+1,j+1Mi+2,j+1;
I17=1; else
Mi,jMi+1,j Mi+1,j+1Mi+2,j+1; I17=1;
end if
Mi,jMi+1,j Mi+1,jMi+2,j; I18= 0;
elseif Mi,jMi+1,j Mi+1,jMi+2,j;
I18=0; elseif
Mi,jMi+1,j Mi+1,jMi+2,j; I18=1;
else Mi,jMi+1,j Mi+1,jMi+2,j;
I18=1; end
if Mi,jMi+1,j Mi+1,j-1Mi+2,j-1;
I19=0; elseif
Mi,jMi+1,j Mi+1,j-1Mi+2,j-1; I19=0;
elseif Mi,jMi+1,j Mi+1,j-1Mi+2,j-1;
I19=1; else
Mi,jMi+1,j Mi+1,j-1Mi+2,j-1; I19=1;
end if
Mi,jMi+1,j Mi,j-1Mi+1,j-1; I20= 0;
elseif Mi,jMi+1,j Mi,j-1Mi+1,j-1;
I20=0; elseif
Mi,jMi+1,j Mi,j-1Mi+1,j-1; I20=1;
else Mi,jMi+1,j Mi,j-1Mi+1,j-1;
I20=1; end
if Mi,jMi+1,j Mi-1,j-1Mi,j-1;
I21= 0; elseif
Mi,jMi+1,j Mi-1,j-1Mi,j-1; I21=0;
elseif Mi,jMi+1,j Mi-1,j-1Mi,j-1;
I21=1; else
Mi,jMi+1,j Mi-1,j-1Mi,j-1; I21=1;
end if
Mi-1,jMi,j Mi,jMi+1,j; I22= 0;
elseif Mi-1,jMi,j Mi,jMi+1,j;
I22=0; elseif
Mi-1,jMi,j Mi,jMi+1,j; I22=1;
else Mi-1,jMi,j Mi,jMi+1,j;
A-5
I22=1; end
if Mi-1,j+1Mi,j+1 Mi,jMi+1,j;
I23= 0; elseif
Mi-1,j+1Mi,j+1 Mi,jMi+1,j; I23=0;
elseif Mi-1,j+1Mi,j+1 Mi,jMi+1,j;
I23=1; else
Mi-1,j+1Mi,j+1 Mi,jMi+1,j; I23=1;
end if
Mi,j+1Mi+1,j+1 Mi,jMi+1,j; I24=0;
elseif Mi,j+1Mi+1,j+1 Mi,jMi+1,j;
I24=0; elseif
Mi,j+1Mi+1,j+1 Mi,jMi+1,j; I24=1;
else Mi,j+1Mi+1,j+1 Mi,jMi+1,j;
I24=1; end
if Mi,jMi+1,j+1 Mi+1,j+1Mi+2,j+2;
I25= 0; elseif
Mi,jMi+1,j+1 Mi+1,j+1Mi+2,j+2; I25=0;
elseif Mi,jMi+1,j+1 Mi+1,j+1Mi+2,j+2;
I25=1; else
Mi,jMi+1,j+1 Mi+1,j+1Mi+2,j+2; I25=1;
end if
Mi,jMi+1,j+1 Mi+1,jMi+2,j+1; I26= 0;
elseif Mi,jMi+1,j+1 Mi+1,jMi+2,j+1;
I26=0; elseif
Mi,jMi+1,j+1 Mi+1,jMi+2,j+1; I26=1;
else Mi,jMi+1,j+1 Mi+1,jMi+2,j+1;
I26=1; end
if Mi,jMi+1,j+1 Mi+1,j-1Mi+2,j;
I27=0; elseif
Mi,jMi+1,j+1 Mi+1,j-1Mi+2,j; I27=0;
elseif Mi,jMi+1,j+1 Mi+1,j-1Mi+2,j;
I27=1; else
Mi,jMi+1,j+1 Mi+1,j-1Mi+2,j; I27=1;
end if
Mi,jMi+1,j+1 Mi,j-1Mi+1,j; I28= 0;
elseif Mi,jMi+1,j+1 Mi,j-1Mi+1,j;
I28=0; elseif
Mi,jMi+1,j+1 Mi,j-1Mi+1,j; I28=1;
else Mi,jMi+1,j+1 Mi,j-1Mi+1,j;
I28=1; end
A-6
if Mi-1,j-1Mi,j Mi,jMi-1,j-1;
I29= 0; elseif
Mi-1,j-1Mi,j Mi,jMi-1,j-1; I29=0;
elseif Mi-1,j-1Mi,j Mi,jMi-1,j-1;
I29=1; else
Mi-1,j-1Mi,j Mi,jMi-1,j-1; I29=1;
end if
Mi-1,jMi,j+1 Mi,jMi+1,j+1; I30= 0;
elseif Mi-1,jMi,j+1 Mi,jMi+1,j+1;
I30=0; elseif
Mi-1,jMi,j+1 Mi,jMi+1,j+1; I30=1;
else Mi-1,jMi,j+1 Mi,jMi+1,j+1;
I30=1; end
if Mi-1,j+1Mi,j+2 Mi,jMi+1,j+1;
I31= 0; elseif
Mi-1,j+1Mi,j+2 Mi,jMi+1,j+1; I31=0;
elseif Mi-1,j+1Mi,j+2 Mi,jMi+1,j+1;
I31=1; else
Mi-1,j+1Mi,j+2 Mi,jMi+1,j+1; I31=1;
end if
Mi,j+1Mi+1,j+2 Mi,jMi+1,j+1; I32=0;
elseif Mi,j+1Mi+1,j+2 Mi,jMi+1,j+1;
I32=0; elseif
Mi,j+1Mi+1,j+2 Mi,jMi+1,j+1; I32=1;
else Mi,j+1Mi+1,j+2 Mi,jMi+1,j+1;
I32=1; end
LDPi,j=I1231+I2230+I3229+I4228+I5227+I6226+I7225+I 8224+I9223+I10222+I11221+I12220+I13219+I14218+I152
17+I16216+I17215+I18214+I19213+I20212+I21211+I22210+ I2329+I2428+I2527+I2626+I2725+I2824+I2923+I3022+I3
121+I3220;
end end
[baris kolom] = sizeLDP; temp = reshapeLDP,bariskolom,1;
mengubah ukuran citra 2D menjadi 1D
T = [T temp]; end
coba=T; save
C:\MATLAB\R2012a\bin\coba coba ;
A-7
2. Program Menentukan Eigenfaces