Anda di halaman 1dari 9

Tugas 4

Teknik Komputasi

Pengenalan Pola Citra Tekstur dengan Metode Jarak Euclidean

Dosen

Nama
NIM
Kelas

: Dr. Ir. Nazori Az, M.T

: Fransiscus Xaverius Eko Budi Kristanto


: 1111600126
: XA

MAGISTER ILMU KOMPUTER


UNIVERSITAS BUDI LUHUR JAKARTA
2012

Pengenalan Pola Citra Tekstur dengan Metode Jarak Euclidean 2012


Soal: Carilah citra tekstur di Google dengan kata kunci: brodatz_database, kemudian ambil 10
buah tekstur. Selanjutnya diuji kemiripannya dari salah satu tekstur, hasilnya diurutkan dalam
bentuk tabel mulai dari yang paling mirip.

Jawab:
10 buah citra tekstur yang digunakan:
Citra tekstur semuanya berukuran 213x213 pixel dengan format PNG (Portable Network
Graphics), dengan kedalaman warna 8 bit.

tekstur_01.png

tekstur_02.png

tekstur_03.png

tekstur_04.png

tekstur_05.png

tekstur_06.png

tekstur_07.png

tekstur_08.png

tekstur_09.png

tekstur_uji.png

Sumber tekstur: http://perso.telecom-ristech.fr/~xia/invariant_texture/invariant_texture_brodatz/Brodatz_re.html

10 buah citra akan diuji (tekstur_01.png, tekstur_02.png, ..., tekstur_uji.png), untuk mencari
citra mana yang paling mirip terhadap citra ke-10 (tekstur_uji.png) dengan menggunakan
metode Jarak Euclidean berdasarkan 5 ciri sebagai berikut:
1
N

1. Intensitas warna () =
2. Nilai rata-rata () =

1
N

(x x )
i =1

X
i =1

3. Entropi (e) e = p ( xi ) log P( xi )


i =1

4. Energi (E) E j =

1
M xN

[ P ( x, y)]

x =1

y =1

Pd (i, j )
5. Homogeiniti (H) H =
i j 1+ i j
1

Pengenalan Pola Citra Tekstur dengan Metode Jarak Euclidean 2012


Jarak Euclidean digunakan untuk klasifikasi atau identifikasi suatu vektor ciri yang dimasukkan
dengan ciri pada basis data yang ada. Jarak Euclidean untuk 2 buah vektor ditentukan dengan
rumus sebagai berikut:
a = [a1 , a2 , a3 , .........., an ] dan
b = [b1 , b2 , b3 , ............, bn ]
Maka jarak Euclidean antara kedua vektor tersebut adalah:
ab = (a1 b1 ) 2 + (a2 b2 ) 2 + (a3 b3 ) 2 + .........(an bn ) 2

Script Program Matlab untuk Mencari Jarak Euclidean Berdasarkan 5 Ciri:


% PENGENALAN POLA CITRA TEKSTUR DENGAN METODE EUCLIDEAN
clear, close all
Image1=imread('D:\tekstur\tekstur_01.png');
Image2=imread('D:\tekstur\tekstur_02.png');
Image3=imread('D:\tekstur\tekstur_03.png');
Image4=imread('D:\tekstur\tekstur_04.png');
Image5=imread('D:\tekstur\tekstur_05.png');
Image6=imread('D:\tekstur\tekstur_06.png');
Image7=imread('D:\tekstur\tekstur_07.png');
Image8=imread('D:\tekstur\tekstur_08.png');
Image9=imread('D:\tekstur\tekstur_09.png');
Image10=imread('D:\tekstur\tekstur_uji.png');
intensitas_1 = std2(Image1);
rata2_1 = mean2(Image1);
entropi_1 = entropy(Image1);
GLCM_1 = graycomatrix(Image1); %menghitung GLCM
energi1 = graycoprops(GLCM_1,{'energy'});
energi_1= struct2array(energi1);
homogeiniti1 = graycoprops(GLCM_1,{'homogeneity'});
homogeiniti_1= struct2array(homogeiniti1);
C1=[intensitas_1, rata2_1, entropi_1, energi_1, homogeiniti_1]' %Matriks C1
intensitas_2 = std2(Image2);
rata2_2 = mean2(Image2);
entropi_2 = entropy(Image2);
GLCM_2 = graycomatrix(Image2); %menghitung GLCM
energi2 = graycoprops(GLCM_2,{'energy'});
energi_2= struct2array(energi2);
homogeiniti2 = graycoprops(GLCM_2,{'homogeneity'});
homogeiniti_2= struct2array(homogeiniti2);
C2=[intensitas_2, rata2_2, entropi_2, energi_2, homogeiniti_2]' %Matriks C2
intensitas_3 = std2(Image3);
rata2_3 = mean2(Image3);

Pengenalan Pola Citra Tekstur dengan Metode Jarak Euclidean 2012


entropi_3 = entropy(Image3);
GLCM_3 = graycomatrix(Image3); %menghitung GLCM
energi3 = graycoprops(GLCM_3,{'energy'});
energi_3= struct2array(energi3);
homogeiniti3 = graycoprops(GLCM_3,{'homogeneity'});
homogeiniti_3= struct2array(homogeiniti3);
C3=[intensitas_3, rata2_3, entropi_3, energi_3, homogeiniti_3]' %Matriks C3
intensitas_4 = std2(Image4);
rata2_4 = mean2(Image4);
entropi_4 = entropy(Image4);
GLCM_4 = graycomatrix(Image4); %menghitung GLCM
energi4 = graycoprops(GLCM_4,{'energy'});
energi_4= struct2array(energi4);
homogeiniti4 = graycoprops(GLCM_4,{'homogeneity'});
homogeiniti_4= struct2array(homogeiniti4);
C4=[intensitas_4, rata2_4, entropi_4, energi_4, homogeiniti_4]' %Matriks C4
intensitas_5 = std2(Image5);
rata2_5 = mean2(Image5);
entropi_5 = entropy(Image5);
GLCM_5 = graycomatrix(Image5); %menghitung GLCM
energi5 = graycoprops(GLCM_5,{'energy'});
energi_5= struct2array(energi5);
homogeiniti5 = graycoprops(GLCM_5,{'homogeneity'});
homogeiniti_5= struct2array(homogeiniti5);
C5=[intensitas_5, rata2_5, entropi_5, energi_5, homogeiniti_5]' %Matriks C5
intensitas_6 = std2(Image6);
rata2_6 = mean2(Image6);
entropi_6 = entropy(Image6);
GLCM_6 = graycomatrix(Image1); %menghitung GLCM
energi6 = graycoprops(GLCM_6,{'energy'});
energi_6= struct2array(energi6);
homogeiniti6 = graycoprops(GLCM_6,{'homogeneity'});
homogeiniti_6= struct2array(homogeiniti6);
C6=[intensitas_6, rata2_6, entropi_6, energi_6, homogeiniti_6]' %Matriks C6
intensitas_7 = std2(Image7);
rata2_7 = mean2(Image7);
entropi_7 = entropy(Image7);
GLCM_7 = graycomatrix(Image7); %menghitung GLCM
energi7 = graycoprops(GLCM_7,{'energy'});
energi_7= struct2array(energi7);
homogeiniti7 = graycoprops(GLCM_7,{'homogeneity'});
homogeiniti_7= struct2array(homogeiniti7);
C7=[intensitas_7, rata2_7, entropi_7, energi_7, homogeiniti_7]' %Matriks C7
intensitas_8 = std2(Image8);
rata2_8 = mean2(Image8);
entropi_8 = entropy(Image8);
GLCM_8 = graycomatrix(Image8); %menghitung GLCM

Pengenalan Pola Citra Tekstur dengan Metode Jarak Euclidean 2012


energi8 = graycoprops(GLCM_8,{'energy'});
energi_8= struct2array(energi8);
homogeiniti8 = graycoprops(GLCM_8,{'homogeneity'});
homogeiniti_8= struct2array(homogeiniti8);
C8=[intensitas_8, rata2_8, entropi_8, energi_8, homogeiniti_8]' %Matriks C8
intensitas_9 = std2(Image9);
rata2_9 = mean2(Image9);
entropi_9 = entropy(Image9);
GLCM_9 = graycomatrix(Image9); %menghitung GLCM
energi9 = graycoprops(GLCM_9,{'energy'});
energi_9= struct2array(energi9);
homogeiniti9 = graycoprops(GLCM_9,{'homogeneity'});
homogeiniti_9= struct2array(homogeiniti9);
C9=[intensitas_9, rata2_9, entropi_9, energi_9, homogeiniti_9]' %Matriks C9
intensitas_10 = std2(Image10);
rata2_10 = mean2(Image10);
entropi_10 = entropy(Image10);
GLCM_10 = graycomatrix(Image10); %menghitung GLCM
energi10 = graycoprops(GLCM_10,{'energy'});
energi_10= struct2array(energi10);
homogeiniti10 = graycoprops(GLCM_10,{'homogeneity'});
homogeiniti_10= struct2array(homogeiniti10);
C10=[intensitas_10, rata2_10, entropi_10, energi_10, homogeiniti_10]' %Matriks C10
% MENCARI CITRA YANG PALING MIRIP TERHADAP CITRA UJI (CITRA ke-10)
jarak_1_10=sqrt((C1(1,1)-C10(1,1))^2+(C1(2,1)-C10(2,1))^2+(C1(3,1)-C10(3,1))^2+(C1(4,1)C10(4,1))^2+(C1(5,1)-C10(5,1))^2)
jarak_2_10=sqrt((C2(1,1)-C10(1,1))^2+(C2(2,1)-C10(2,1))^2+(C2(3,1)-C10(3,1))^2+(C2(4,1)C10(4,1))^2+(C2(5,1)-C10(5,1))^2)
jarak_3_10=sqrt((C3(1,1)-C10(1,1))^2+(C3(2,1)-C10(2,1))^2+(C3(3,1)-C10(3,1))^2+(C3(4,1)C10(4,1))^2+(C3(5,1)-C10(5,1))^2)
jarak_4_10=sqrt((C4(1,1)-C10(1,1))^2+(C4(2,1)-C10(2,1))^2+(C4(3,1)-C10(3,1))^2+(C4(4,1)C10(4,1))^2+(C4(5,1)-C10(5,1))^2)
jarak_5_10=sqrt((C5(1,1)-C10(1,1))^2+(C5(2,1)-C10(2,1))^2+(C5(3,1)-C10(3,1))^2+(C5(4,1)C10(4,1))^2+(C5(5,1)-C10(5,1))^2)
jarak_6_10=sqrt((C6(1,1)-C10(1,1))^2+(C6(2,1)-C10(2,1))^2+(C6(3,1)-C10(3,1))^2+(C6(4,1)C10(4,1))^2+(C6(5,1)-C10(5,1))^2)
jarak_7_10=sqrt((C7(1,1)-C10(1,1))^2+(C7(2,1)-C10(2,1))^2+(C7(3,1)-C10(3,1))^2+(C7(4,1)C10(4,1))^2+(C7(5,1)-C10(5,1))^2)
jarak_8_10=sqrt((C8(1,1)-C10(1,1))^2+(C8(2,1)-C10(2,1))^2+(C8(3,1)-C10(3,1))^2+(C8(4,1)C10(4,1))^2+(C8(5,1)-C10(5,1))^2)
jarak_9_10=sqrt((C9(1,1)-C10(1,1))^2+(C9(2,1)-C10(2,1))^2+(C9(3,1)-C10(3,1))^2+(C9(4,1)C10(4,1))^2+(C9(5,1)-C10(5,1))^2)
jarak_10_10=sqrt((C10(1,1)-C10(1,1))^2+(C10(2,1)-C10(2,1))^2+(C10(3,1)-C10(3,1))^2+(C10(4,1)C10(4,1))^2+(C10(5,1)-C10(5,1))^2)

Pengenalan Pola Citra Tekstur dengan Metode Jarak Euclidean 2012


Hasil:
C1 =
65.3775
180.7692
5.3177
0.2414
0.7228
C2 =
60.9682
180.3410
5.3565
0.2527
0.7285
C3 =
64.1793
166.0150
5.7418
0.1597
0.6940
C4 =
62.6913
181.4880
5.3186
0.2462
0.7216
C5 =
63.4781
176.6978
5.4415
0.2290
0.7195
C6 =
65.8256
170.8663
5.6259
0.2414
0.7228

Pengenalan Pola Citra Tekstur dengan Metode Jarak Euclidean 2012


C7 =
58.9760
190.7536
5.0511
0.2888
0.7448
C8 =
61.6821
183.7089
5.2691
0.2692
0.7401
C9 =
63.7068
174.2883
5.5924
0.1972
0.7052
C10 =
62.6913
181.4880
5.3186
0.2462
0.7216
jarak_1_10 =
2.7807
jarak_2_10 =
2.0703
jarak_3_10 =
15.5503
jarak_4_10 =
0
jarak_5_10 =
4.8559

Pengenalan Pola Citra Tekstur dengan Metode Jarak Euclidean 2012


jarak_6_10 =
11.0788
jarak_7_10 =
9.9865
jarak_8_10 =
2.4402
jarak_9_10 =
7.2763
jarak_10_10 =
0

Dengan demikian, diperoleh nilai Jarak Euclidean tekstur yang diuji (tekstur_01.png,
tekstur_02.png, ..., tekstur_uji.png) dengan tekstur uji (tekstur_uji.png) adalah:
Tabel Jarak Euclidean Hasil Pengujian 10 Citra Tekstur:
Nama Berkas Tekstur

Jarak Euclidean

tekstur_01.png

2.7807

tekstur_02.png

2.0703

tekstur_03.png

15.5503

tekstur_04.png

tekstur_05.png

4.8559

tekstur_06.png

11.0788

tekstur_07.png

9.9865

tekstur_08.png

2.4402

tekstur_09.png

7.2763

tekstur_uji.png

Dari hasil pengujian diperoleh bahwa nilai Jarak Euclidean tekstur_01.png dan tekstur_uji.png
adalah 0 karena kedua tekstur tersebut sebenarnya sama persis (penulis sengaja mengcopy file
tekstur_uji.png dari file tekstur_04.png).
7

Pengenalan Pola Citra Tekstur dengan Metode Jarak Euclidean 2012


Kemiripan pengenalan diperoleh dengan menghitung jarak terdekat, yaitu nilai Jarak Euclidean
yang paling kecil. Semakin kecil jarak tekstur yang diuji dengan tekstur penguji, maka akan
semakin mirip.
Tabel Urutan Kemiripan Hasil Pengujian Menggunakan 10 Citra Tekstur:
Urutan Kode Tekstur

Jarak Euclidean

tekstur_04.png

tekstur_02.png

2.0703

tekstur_08.png

2.4402

tekstur_01.png

2.7807

tekstur_05.png

4.8559

tekstur_09.png

7.2763

tekstur_07.png

9.9865

tekstur_06.png

11.0788

tekstur_03.png

15.5503

Sehingga jika citra tekstur disusun berurutan dari kemiripannya akan menjadi sebagai berikut:
Citra Penguji

tekstur_uji.png

tekstur_05.png

tekstur_04.png

tekstur_09.png

tekstur_02.png

tekstur_07.png

tekstur_08.png

tekstur_06.png

tekstur_01.png

tekstur_03.png