SlideShare a Scribd company logo
1 of 16
Download to read offline
BAB 14
Aplikasi
Temu Kembali
Citra
Setelah bab ini berakhir, diharapkan pembaca dapat
memahami berbagai hal yang berhubungan dengan temu
kembali citra dan mampu mempraktikkannya.
οƒΌ Aplikasi temu kembali citra
οƒΌ Perhitungan jarak antardua citra
οƒΌ Contoh penerapan jarak
686 Pengolahan Citra Teori dan Aplikasi
14.1 Pengantar Aplikasi Temu Kembali Citra
Temu kembali citra (image retrieval) merupakan proses untuk
mendapatkan sejumlah citra berdasarkan masukan satu citra. Istilah yang lebih
spesifik lagi adalah content based image retrieval (CBIR) atau temu kembali citra
berdasarkan isinya. Istilah tersebut dikemukakan pertama kali oleh Kato pada
tahun 1992 (Zhang, 2002). Awalnya, CBIR digunakan untuk pencarian citra
secara otomatis di dalam suatu database didasarkan pada fitur warna dan bentuk.
Sejak saat itu, bermunculan berbagai sistem CBIR. Contoh yang terkenal adalah
Query By Image Content (QBIC) yang dikembangkan oleh IBM. Pada
perkembangan selanjutnya, fitur tekstur juga dimasukkan sebagai bagian untuk
melakukan pencarian citra.
Prinsip temu kembali citra ditunjukkan pada Gambar 14.1. Fitur sejumlah
objek telah disimpan di dalam database. Selanjutnya, ketika suatu citra dijadikan
sebagai bahan query, fitur akan dihitung setelah melalui prapemrosesan dan
segmentasi. Fitur yang diperoleh dibandingkan dengan fitur semua objek yang
terdapat di dalam database, melalui perhitungan jarak fitur. Hasil jarak ini sering
disebut sebagai skor atau ranking. Seluruh skor diurutkan dari yang paling
bernilai kecil ke yang paling besar. Objek-objek yang menghasilkan skor rendah
adalah citra yang mirip dengan citra query. Untuk membatasi, hanya n citra yang
disajikan sebagai hasil query. Dalam hal ini, nilai n dapat ditentukan oleh sistem
ataupun pengguna.
Aplikasi Temu Kembali Citra 687
Citra
Masukan Prapemrosesan dan
Segmentasi
Ekstraksi
Fitur
Database
Perhitungan
Jarak Fitur
Pengurutan
Jarak
Pemilihan n Citra
Hasil
Gambar 14.1 Prinsip temu kembali citra
14.2 Perhitungan Jarak Antara Dua Citra
Jarak merupakan pendekatan yang umum dipakai untuk mewujudkan
pencarian citra. Fungsinya adalah untuk menentukan kesamaan atau
ketidaksamaan dua vektor fitur. Tingkat kesamaan dinyatakan dengan suatu skor
atau ranking. Semakin kecil nilai ranking, semakin dekat kesamaan kedua vektor
tersebut.
Pengukuran jarak dilakukan dengan beberapa cara. Beberapa metode yang
umum dipakai dijelaskan di dalam subbab ini.
14.2.1 Jarak Euclidean
Jarak Euclidean didefinisikan sebagai berikut:
𝑗(𝑣1, 𝑣2) = βˆšβˆ‘ (𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜))2𝑁
π‘˜=1 (14.1)
688 Pengolahan Citra Teori dan Aplikasi
Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor. Apabila vektor memiliki dua nilai, jarak Euclidean
dapat dibayangkan sebagai sisi miring segitiga (Gambar 14.2(a)).
(a) jarak Euclidean (b) Jarak city-block (c) Jarak Chebychef
y
x x x
y y
max(y, x)y+x
√π‘₯2 + 𝑦2
Gambar 14.2 Gambaran jarak Euclidean, City-block, dan Chebychef
Sebagai contoh, terdapat dua vektor seperti berikut:
𝑣1 = [ 4, 3, 6]
𝑣2 = [ 2, 3, 7]
Jarak Euclidean kedua vektor adalah:
π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = √(4 βˆ’ 2)2 + (3 βˆ’ 3)2 + (6 βˆ’ 7)2 = √5 = 2,2361
Jarak Euclidean merupakan jarak yang umum dipakai dalam temu kembali
citra. Beberapa penelitian yang memanfaatkan jarak ini antara lain dilakukan oleh
Hastuti, dkk. (2009) dan Kadir, dkk. (2011a).
14.2.2 Jarak City-Block
Jarak city-block didefinisikan sebagai berikut:
𝑗(𝑣1, 𝑣2) = βˆ‘ |𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)|𝑁
π‘˜=1 (14.2)
Aplikasi Temu Kembali Citra 689
Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor. Apabila vektor memiliki dua nilai, jarak city-block
dapat dibayangkan sebagai jarak vertikal plus horizontal dari vektor pertama ke
vektor kedua (Gambar 14.2(b)).
Sebagai contoh, terdapat dua vektor seperti berikut:
𝑣1 = [ 4, 3, 6]
𝑣2 = [ 2, 3, 7]
Jarak city-block kedua vektor tersebut berupa
π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = |4 βˆ’ 2| + |3 βˆ’ 3| + |6 βˆ’ 7| = 3
14.2.3 Jarak Kotak Catur
Jarak kotak catur atau dikenal pula dengan nama jarak Chebychef
didefinisikan sebagai berikut:
𝑗(𝑣1, 𝑣2) = max π‘˜=1→𝑁(|𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)|) (14.3)
Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor. Apabila vektor memiliki dua nilai, jarak dapat
dibayangkan sebagai jarak terpanjang antara jarak horizontal dan jarak vertikal
(Gambar 14.2(c)).
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak kotak catur kedua vektor tersebut berupa
π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = max(|4 βˆ’ 2|, |3 βˆ’ 3|, |6 βˆ’ 7|) = 2
14.2.4 Jarak Minkowski
Jarak Minkowski didefinisikan sebagai berikut:
690 Pengolahan Citra Teori dan Aplikasi
𝑗(𝑣1, 𝑣2) = βˆšβˆ‘ |(𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)| 𝑝𝑁
π‘˜=1
1/𝑝
(14.4)
Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor. Apabila p bernilai 1, jarak berupa city-block. Apabila
p bernilai 2, jarak berupa Euclidean.
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak Minkowski kedua vektor tersebut untuk p
berupa 3 berupa:
π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = √(4 βˆ’ 2)3 + (3 βˆ’ 3)3 + (6 βˆ’ 7)3
1/3
= √9
1/3
= 2,0801
14.2.5 Jarak Canberra
Jarak Canberra didefinisikan sebagai berikut:
𝑗(𝑣1, 𝑣2) = βˆ‘
|𝑣1(π‘˜)βˆ’π‘£2(π‘˜)|
|𝑣1(π‘˜)|+|𝑣1(π‘˜)|
𝑁
π‘˜=1 (14.5)
Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor.
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak Canberra kedua vektor tersebut berupa
π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ =
|4 βˆ’ 2|
4 + 2
+
|3 βˆ’ 3|
3 + 3
+
|6 βˆ’ 7|
6 + 7
=
2
6
+
0
6
+
1
13
= 0,4103
14.2.6 Jarak Bray Curtis
Jarak Bray Curtis atau jarak Sorensen (Putra, 2010) didefinisikan sebagai
berikut:
𝑗(𝑣1, 𝑣2) =
βˆ‘ |𝑣1(π‘˜)βˆ’π‘£2(π‘˜)|𝑁
π‘˜=1
βˆ‘ 𝑣1(π‘˜)+𝑁
π‘˜=1 βˆ‘ 𝑣2(π‘˜)𝑁
π‘˜=1
(14.6)
Aplikasi Temu Kembali Citra 691
Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor.
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak Bray Curtis kedua vektor tersebut berupa
π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ =
|4βˆ’2|+|3βˆ’3|+|6βˆ’7|
4+2+3+3+6+7
=
2+1
25
= 0,12
14.2.7 Divergensi Kullback Leibler
Divergensi Kullback Leibler (Deselaers, 2003) didefinisikan sebagai
berikut:
𝐾𝐿(𝑣1, 𝑣2) = βˆ‘ 𝑣1(π‘˜)𝑁
π‘˜=1 π‘™π‘œπ‘”
𝑣1(π‘˜)
𝑣2(π‘˜)
(14.6)
Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor.
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak menurut divergensi Kullback Leibler kedua
vektor tersebut berupa
π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = 4 βˆ— log (
4
2
) + 3 βˆ— log (
3
3
) + 6 βˆ— log (
6
7
) = 1,8477
14.2.8 Divergensi Jensen Shannon
Divergensi Jensen Shannon (Deselaers, 2003) didefinisikan sebagai
berikut:
𝐽𝐷(𝑣1, 𝑣2) = βˆ‘ 𝑣1(π‘˜)𝑁
π‘˜=1 . π‘™π‘œπ‘”
2 βˆ— 𝑣1(π‘˜)
𝑣1(π‘˜) + 𝑣2(π‘˜)
+ 𝑣2(π‘˜). π‘™π‘œπ‘”
2 βˆ— 𝑣2(π‘˜)
𝑣1(π‘˜) + 𝑣2(π‘˜)
(14.6)
Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N
menyatakan panjang vektor.
692 Pengolahan Citra Teori dan Aplikasi
Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 =
[ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak menurut divergensi Jensen Shannon kedua
vektor tersebut berupa
π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = 4 βˆ— log (
2βˆ—4
4+2
) + 3 βˆ— log (
2βˆ—3
3+3
) + 6 βˆ— log (
2βˆ—6
6+7
) +
2 βˆ— log (
2βˆ—2
4+2
) + 3 βˆ— log (
2βˆ—3
3+3
) + 7 βˆ— log (
2βˆ—7
6+7
) = 0,3783
14.3 Contoh Penerapan Jarak
Untuk memahami manfaat jarak dua vektor dalam pengolahan citra,
perhatikan contoh berikut.
Program : queryzer.m
function queryzer(berkas)
% QUERYZER Berguna untuk melakukan query dengan
% menggunakan momen Zernike.
% Citra yang akan menjadi acuan
Citra{1} = 'C:Imageikan-4.png';
Citra{2} = 'C:Imageikan-2.png';
Citra{3} = 'C:Imageikan-3.png';
Citra{4} = 'C:Imageikan-1.png';
Citra{5} = 'C:Imageguppi-4.png';
Citra{6} = 'C:Imageguppi-2.png';
Citra{7} = 'C:Imageguppi-3.png';
Citra{8} = 'C:Imageguppi-1.png';
% Proses momen Zernike dan hitung jarak City-block
Query = im2bw(imread(berkas), 0.5);
ZQuery = zermoment(Query, 10);
Hasil = [];
for i=1 : length(Citra)
disp(sprintf('proses terhadap citra %s', Citra{i}));
Ref = im2bw(imread(Citra{i}), 0.5);
ZRef = zermoment(Ref, 10);
jarak = 0;
for j=1 : length(ZRef)
jarak = jarak + abs(ZRef(j) - ZQuery(j));
end
Hasil(i).nama = Citra{i};
Hasil(i).jarak = jarak;
end
Aplikasi Temu Kembali Citra 693
% Urutkan data pada array Hasil
jum = length(Hasil);
for p = 2: jum
x = Hasil(p);
% Sisipkan x ke dalam data[1..p-1]
q = p - 1;
ketemu = 0;
while ((q >= 1) && (~ketemu))
if (x.jarak < Hasil(q).jarak)
Hasil(q+1) = Hasil(q);
q = q - 1;
else
ketemu = 1;
end
Hasil(q+1) = x;
end
end
% Tampilkan hasil
disp('Hasil pencocokan: ');
for i=1 : jum
disp(sprintf('Citra %s - Jarak: %f',Hasil(i).nama, ...
Hasil(i).jarak));
end
Akhir Program
Fungsi queryzer memerlukan masukan berupa nama citra. Citra
tersebutlah yang akan dibandingkan dengan delapan citra yang berfungsi sebagai
citra referensi (database). Jarak citra masukan terhadap kedelapan citra dihitung
dengan menggunakan jarak city-block. Selanjutnya, dilakukan pengurutan dari
jarak terkecil ke jarak terbesar. Hasilnya menyatakan kesamaan dengan citra
masukan. Semakin kecil nilai jarak berarti semakin dekat dengan citra masukan.
Berikut adalah contoh pemanggilan fungsi queryzer:
>> queryzer('C:Imageikan-5.png') 
proses terhadap citra C:Imageikan-4.png
proses terhadap citra C:Imageikan-2.png
proses terhadap citra C:Imageikan-3.png
proses terhadap citra C:Imageikan-1.png
694 Pengolahan Citra Teori dan Aplikasi
proses terhadap citra C:Imageguppi-4.png
proses terhadap citra C:Imageguppi-2.png
proses terhadap citra C:Imageguppi-3.png
proses terhadap citra C:Imageguppi-1.png
Hasil pencocokan:
Citra C:Imageikan-3.png - Jarak: 0.311540
Citra C:Imageikan-2.png - Jarak: 0.317283
Citra C:Imageikan-1.png - Jarak: 0.317283
Citra C:Imageikan-4.png - Jarak: 1.063666
Citra C:Imageguppi-2.png - Jarak: 1.896431
Citra C:Imageguppi-1.png - Jarak: 1.901020
Citra C:Imageguppi-3.png - Jarak: 1.908009
Citra C:Imageguppi-4.png - Jarak: 1.913503
>>
Sebagai pembanding, guppi-5.png dapat dipakai sebagai bahan query. Akan
terlihat bahwa ikan guppi-1.png hingga guppi-4.png akan memiliki jarak yang
lebih pendek dibanding dengan kelompok ikan-1.png hingga ikan-4.png.
14.4 Pengembangan Lebih Lanjut
Contoh temu kembali citra yang dicontohkan di Subbab 14.3 mempunyai
kelemahan yaitu lama untuk memperoleh fitur citra. Untuk mempercepat
pencarian, fitur untuk semua citra referensi dapat dihitung terlebih dulu melalui
suatu skrip dan kemudian disimpan di dalam suatu database. Dengan demikian,
pembandingan fitur dilakukan secara langsung, tanpa perlu menyiapkan perolehan
fitur.
Sebagai gambaran, perhatikan skrip berikut.
Program : dbfitur.m
% DBFITUR Berguna untuk menghitung fitur
Aplikasi Temu Kembali Citra 695
% menggunakan momen Zernike dan kemudian
% menyimoannya ke dalaa file .MAT
% Citra yang akan menjadi acuan
Citra{1} = 'C:Imageikan-4.png';
Citra{2} = 'C:Imageikan-2.png';
Citra{3} = 'C:Imageikan-3.png';
Citra{4} = 'C:Imageikan-1.png';
Citra{5} = 'C:Imageguppi-4.png';
Citra{6} = 'C:Imageguppi-2.png';
Citra{7} = 'C:Imageguppi-3.png';
Citra{8} = 'C:Imageguppi-1.png';
% Proses menghitung momen Zernike
Fitur = [];
for i=1 : length(Citra)
disp(sprintf('Menghitung fitur citra %s', Citra{i}));
Image = im2bw(imread(Citra{i}), 0.5);
Z.momen = zermoment(Image, 10);
Z.nama = Citra(i);
Fitur(i).momen = Z.momen;
Fitur(i).nama = Z.nama;
end
% Simpan ke file dbfitur.mat
save('dbfitur', 'Fitur');
clear Citra Fitur;
Akhir Program
Skrip di atas cukup dipanggil sekali, seperti berikut:
>> dbfitur 
Menghitung fitur citra C:Imageikan-4.png
Menghitung fitur citra C:Imageikan-2.png
Menghitung fitur citra C:Imageikan-3.png
Menghitung fitur citra C:Imageikan-1.png
Menghitung fitur citra C:Imageguppi-4.png
Menghitung fitur citra C:Imageguppi-2.png
Menghitung fitur citra C:Imageguppi-3.png
Menghitung fitur citra C:Imageguppi-1.png
>>
696 Pengolahan Citra Teori dan Aplikasi
Dengan cara seperti itu, fitur kedelapan citra akan tersimpan di file dbfitur.mat.
Selanjutnya, temu kembali citra dapat dilakukan melalui fungsi
queryzer2. Isinya seperti berikut.
Program : queryzer2.m
function queryzer2(berkas)
% QUERYZER2 Berguna untuk melakukan query dengan
% menggunakan momen Zernike dengan membaca
% data acuan dari file dbfitur.
load dbfitur; % Memuat database fitur
% Proses momen Zernike dan hitung jarak City-block
Query = im2bw(imread(berkas), 0.5);
ZQuery = zermoment(Query, 10);
Hasil = [];
jumFitur = length(Fitur(1).momen);
for i=1 : length(Fitur)
nama = Fitur(i).nama;
jarak = 0;
for j=1 : jumFitur
jarak = jarak + abs(ZQuery(j) - Fitur(i).momen(j));
end
Hasil(i).nama = Fitur(i).nama;
Hasil(i).jarak = jarak;
end
% Urutkan data pada array Hasil
jum = length(Hasil);
for p = 2: jum
x = Hasil(p);
% Sisipkan x ke dalam data[1..p-1]
q = p - 1;
ketemu = 0;
while ((q >= 1) && (~ketemu))
if (x.jarak < Hasil(q).jarak)
Hasil(q+1) = Hasil(q);
q = q - 1;
else
ketemu = 1;
end
Hasil(q+1) = x;
end
end
Aplikasi Temu Kembali Citra 697
% Tampilkan hasil secara visual
disp('Hasil pencocokan dapat dilihat pada jendela gambar');
subplot(3,3,1);
G = imread(berkas); imshow(G);
title('Query');
for i=1 : jum
subplot(3,3, i+1);
G = imread(char(Hasil(i).nama)); imshow(G);
title(num2str(Hasil(i).jarak));
end
Akhir Program
Contoh penggunaan fungsi queryzer2 seperti berikut.
>> queryzer2('C:Imageikan-5.png') 
Hasil pencocokan dapat dilihat pada jendela gambar
>>
Hasilnya dapat dilihat pada Gambar 14.3. Gambar tersebut memperlihatkan citra
query dan citra-citra hasil yang dilengkapi dengan nilai jarak antara citra
bersangkutan terhadap citra query, yang telah diurutkan dari jarak terpendek ke
jarak terpanjang.
698 Pengolahan Citra Teori dan Aplikasi
Gambar 14.3 Hasil query secara visual berdasar urutan besar jarak
1. Jelaskan pengertian temu kembali citra.
2. Terdapat dua vektor seperti berikut:
𝑣1 = [ 3, 8, 6,5]
𝑣2 = [ 4, 6, 7,8]
Hitunglah jarak menurut:
a) jarak City-block
b) jarak Euclidean
c) jarak Canberra
d) jarak Chebychef
e) jarak Bray Curtis
ο€Ώ Latihan
Aplikasi Temu Kembali Citra 699
3. Tunjukkan bahwa rumus jarak Chebychef
𝑗(𝑣1, 𝑣2) =
βˆ‘ |𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)|𝑁
π‘˜=1
βˆ‘ 𝑣1(π‘˜) +𝑁
π‘˜=1 βˆ‘ 𝑣2(π‘˜)𝑁
π‘˜=1
identik dengan
𝑗(𝑣1, 𝑣2) =
βˆ‘ |𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)|𝑁
π‘˜=1
βˆ‘ (𝑣1(π‘˜) + 𝑣2(π‘˜))𝑁
π‘˜=1
4. Buatlah fungsi semacam queryzer, tetapi fitur yang digunakan berupa
momen Hu.
5. Buatlah fungsi semacam queryzer, tetapi fitur yang digunakan
menggunakan deskriptor Fourier dengan jumlah:
(a) 30 buah
(b) 40 buah
(c) 50 buah
Amati hasilnya. Adakah kesimpulan yang dapat diambil?
6. Cobalah untuk membuat tiga fungsi yang melakukan perhitungan jarak
melalui momen Zernike dengan menggunakan pendekatan:
a) jarak Euclidean
b) jarak Canberra
c) jarak Chebychef
d) jarak Bray Curtis
Amati hasil yang didapatkan. Apakah dapat ditarik sesuatu kesimpulan dari
situ?
700 Pengolahan Citra Teori dan Aplikasi
6. Cobalah pula untuk melakukan pengukuran jarak terhadap fitur tekstur.
Bandingkan beberapa metode untuk memperoleh fitur tekstur yang dibahas
dalam Bab 13.

More Related Content

What's hot

831501049 zulviati putri
831501049 zulviati putri831501049 zulviati putri
831501049 zulviati putriHannif Mardani
Β 
Pcd 5 - untuk spada
Pcd 5 - untuk spadaPcd 5 - untuk spada
Pcd 5 - untuk spadadedidarwis
Β 
Pengolahan Citra 2 - Pembentukan Citra Digital
Pengolahan Citra 2 - Pembentukan Citra DigitalPengolahan Citra 2 - Pembentukan Citra Digital
Pengolahan Citra 2 - Pembentukan Citra DigitalNur Fadli Utomo
Β 
Matlab Untuk Pengolahan Citra
Matlab Untuk Pengolahan CitraMatlab Untuk Pengolahan Citra
Matlab Untuk Pengolahan Citraarifgator
Β 
Tugas Translasi
Tugas TranslasiTugas Translasi
Tugas TranslasiIpit Sabrina
Β 
Skema k2 set b juj pahang 2014 physics spm
Skema k2 set b juj pahang 2014 physics spmSkema k2 set b juj pahang 2014 physics spm
Skema k2 set b juj pahang 2014 physics spmCikgu Pejal
Β 
integrasi
integrasiintegrasi
integrasiQiu Mil
Β 
Lampiran a perhitungan bb
Lampiran a perhitungan bbLampiran a perhitungan bb
Lampiran a perhitungan bbNazar Civil
Β 

What's hot (12)

Graph
GraphGraph
Graph
Β 
831501049 zulviati putri
831501049 zulviati putri831501049 zulviati putri
831501049 zulviati putri
Β 
10.kompresi citra
10.kompresi citra10.kompresi citra
10.kompresi citra
Β 
Gaya lorentz
Gaya lorentzGaya lorentz
Gaya lorentz
Β 
Pcd 5 - untuk spada
Pcd 5 - untuk spadaPcd 5 - untuk spada
Pcd 5 - untuk spada
Β 
Pengolahan Citra 2 - Pembentukan Citra Digital
Pengolahan Citra 2 - Pembentukan Citra DigitalPengolahan Citra 2 - Pembentukan Citra Digital
Pengolahan Citra 2 - Pembentukan Citra Digital
Β 
Matlab Untuk Pengolahan Citra
Matlab Untuk Pengolahan CitraMatlab Untuk Pengolahan Citra
Matlab Untuk Pengolahan Citra
Β 
Tugas Translasi
Tugas TranslasiTugas Translasi
Tugas Translasi
Β 
Skema k2 set b juj pahang 2014 physics spm
Skema k2 set b juj pahang 2014 physics spmSkema k2 set b juj pahang 2014 physics spm
Skema k2 set b juj pahang 2014 physics spm
Β 
Pcd 7
Pcd 7Pcd 7
Pcd 7
Β 
integrasi
integrasiintegrasi
integrasi
Β 
Lampiran a perhitungan bb
Lampiran a perhitungan bbLampiran a perhitungan bb
Lampiran a perhitungan bb
Β 

Similar to TEMU_KEMBALI_CITRA

kelompok 3 x ipa 2
 kelompok 3 x ipa 2 kelompok 3 x ipa 2
kelompok 3 x ipa 2cindyia putri
Β 
materi fisika dasar
materi fisika dasarmateri fisika dasar
materi fisika dasarErvianAMuhafid
Β 
Matematika Vektor Kelompok2
Matematika Vektor Kelompok2Matematika Vektor Kelompok2
Matematika Vektor Kelompok2XI Akuntansi 3
Β 
Kelas xii bab 4
Kelas xii bab 4Kelas xii bab 4
Kelas xii bab 4pitrahdewi
Β 
Kelas xii bab 4
Kelas xii bab 4Kelas xii bab 4
Kelas xii bab 4arman11111
Β 
PENGUKURAN KEMIIRIPAN SEMATIK CITRA DENGAN BAG OF WORDS LOKAL FRAGEMEN SEMATI...
PENGUKURAN KEMIIRIPAN SEMATIK CITRA DENGAN BAG OF WORDS LOKAL FRAGEMEN SEMATI...PENGUKURAN KEMIIRIPAN SEMATIK CITRA DENGAN BAG OF WORDS LOKAL FRAGEMEN SEMATI...
PENGUKURAN KEMIIRIPAN SEMATIK CITRA DENGAN BAG OF WORDS LOKAL FRAGEMEN SEMATI...Repository Ipb
Β 
Matematika 2 - Slide week 7 - Vektor
Matematika 2 - Slide week 7 - VektorMatematika 2 - Slide week 7 - Vektor
Matematika 2 - Slide week 7 - VektorBeny Nugraha
Β 
OPERASI VEKTOR.pptx
OPERASI VEKTOR.pptxOPERASI VEKTOR.pptx
OPERASI VEKTOR.pptxAriefSaepudin2
Β 
Tugas matematika peminatan 1
Tugas matematika peminatan 1Tugas matematika peminatan 1
Tugas matematika peminatan 1nico popo
Β 
Latihan &kasus FTI314-sns
Latihan &kasus FTI314-snsLatihan &kasus FTI314-sns
Latihan &kasus FTI314-snsstaffpengajar
Β 
maklaah Operasi vektor .docx
maklaah Operasi vektor .docxmaklaah Operasi vektor .docx
maklaah Operasi vektor .docxRahulMahendra5
Β 
Proyeksi Skalar dan Vektor Ortogonal 2 Vektor
Proyeksi Skalar dan Vektor Ortogonal 2 VektorProyeksi Skalar dan Vektor Ortogonal 2 Vektor
Proyeksi Skalar dan Vektor Ortogonal 2 Vektorbilqis123
Β 
Relasidanfungsi 130408013733-phpapp02
Relasidanfungsi 130408013733-phpapp02Relasidanfungsi 130408013733-phpapp02
Relasidanfungsi 130408013733-phpapp02gusty29
Β 

Similar to TEMU_KEMBALI_CITRA (20)

kelompok 3 x ipa 2
 kelompok 3 x ipa 2 kelompok 3 x ipa 2
kelompok 3 x ipa 2
Β 
Kelas xii bab 4
Kelas xii bab 4Kelas xii bab 4
Kelas xii bab 4
Β 
materi fisika dasar
materi fisika dasarmateri fisika dasar
materi fisika dasar
Β 
Matematika Vektor Kelompok2
Matematika Vektor Kelompok2Matematika Vektor Kelompok2
Matematika Vektor Kelompok2
Β 
Kelas xii bab 4
Kelas xii bab 4Kelas xii bab 4
Kelas xii bab 4
Β 
Kelas xii bab 4
Kelas xii bab 4Kelas xii bab 4
Kelas xii bab 4
Β 
Pcd 8
Pcd 8Pcd 8
Pcd 8
Β 
PENGUKURAN KEMIIRIPAN SEMATIK CITRA DENGAN BAG OF WORDS LOKAL FRAGEMEN SEMATI...
PENGUKURAN KEMIIRIPAN SEMATIK CITRA DENGAN BAG OF WORDS LOKAL FRAGEMEN SEMATI...PENGUKURAN KEMIIRIPAN SEMATIK CITRA DENGAN BAG OF WORDS LOKAL FRAGEMEN SEMATI...
PENGUKURAN KEMIIRIPAN SEMATIK CITRA DENGAN BAG OF WORDS LOKAL FRAGEMEN SEMATI...
Β 
Bab 4.pdf
Bab 4.pdfBab 4.pdf
Bab 4.pdf
Β 
Matematika 2 - Slide week 7 - Vektor
Matematika 2 - Slide week 7 - VektorMatematika 2 - Slide week 7 - Vektor
Matematika 2 - Slide week 7 - Vektor
Β 
OPERASI VEKTOR.pptx
OPERASI VEKTOR.pptxOPERASI VEKTOR.pptx
OPERASI VEKTOR.pptx
Β 
Tugas matematika peminatan 1
Tugas matematika peminatan 1Tugas matematika peminatan 1
Tugas matematika peminatan 1
Β 
Latihan &kasus FTI314-sns
Latihan &kasus FTI314-snsLatihan &kasus FTI314-sns
Latihan &kasus FTI314-sns
Β 
maklaah Operasi vektor .docx
maklaah Operasi vektor .docxmaklaah Operasi vektor .docx
maklaah Operasi vektor .docx
Β 
Pcd 8
Pcd 8Pcd 8
Pcd 8
Β 
Aljabar linear-1
Aljabar linear-1Aljabar linear-1
Aljabar linear-1
Β 
Makalah aljabar vektor
Makalah aljabar vektorMakalah aljabar vektor
Makalah aljabar vektor
Β 
Proyeksi Skalar dan Vektor Ortogonal 2 Vektor
Proyeksi Skalar dan Vektor Ortogonal 2 VektorProyeksi Skalar dan Vektor Ortogonal 2 Vektor
Proyeksi Skalar dan Vektor Ortogonal 2 Vektor
Β 
Relasidanfungsi 130408013733-phpapp02
Relasidanfungsi 130408013733-phpapp02Relasidanfungsi 130408013733-phpapp02
Relasidanfungsi 130408013733-phpapp02
Β 
Vektor
VektorVektor
Vektor
Β 

More from dedidarwis

Cv dedi darwis
Cv dedi darwisCv dedi darwis
Cv dedi darwisdedidarwis
Β 
Manajemen pengetahuan
Manajemen pengetahuanManajemen pengetahuan
Manajemen pengetahuandedidarwis
Β 
Metadata pada Data Warehouse
Metadata pada Data WarehouseMetadata pada Data Warehouse
Metadata pada Data Warehousededidarwis
Β 
Siklus Pendapatan
Siklus PendapatanSiklus Pendapatan
Siklus Pendapatandedidarwis
Β 
Pengendalian SIA Berbasis Komputer
Pengendalian SIA Berbasis KomputerPengendalian SIA Berbasis Komputer
Pengendalian SIA Berbasis Komputerdedidarwis
Β 
Sistem Pengendalian Internal
Sistem Pengendalian InternalSistem Pengendalian Internal
Sistem Pengendalian Internaldedidarwis
Β 
Model data dan desain database
Model data dan desain databaseModel data dan desain database
Model data dan desain databasededidarwis
Β 
Pengantar e-business
Pengantar e-businessPengantar e-business
Pengantar e-businessdedidarwis
Β 
Siklus sistem informasi akuntansi
Siklus sistem informasi akuntansiSiklus sistem informasi akuntansi
Siklus sistem informasi akuntansidedidarwis
Β 
Konsep Dasar Sistem Informasi Akuntansi
Konsep Dasar Sistem Informasi AkuntansiKonsep Dasar Sistem Informasi Akuntansi
Konsep Dasar Sistem Informasi Akuntansidedidarwis
Β 
Pert 14 publikasi hasil penelitian
Pert 14 publikasi hasil penelitianPert 14 publikasi hasil penelitian
Pert 14 publikasi hasil penelitiandedidarwis
Β 
Pert 13 pengujian hasil penelitian
Pert 13  pengujian hasil penelitianPert 13  pengujian hasil penelitian
Pert 13 pengujian hasil penelitiandedidarwis
Β 
Pert 13 pengujian hasil penelitian
Pert 13  pengujian hasil penelitianPert 13  pengujian hasil penelitian
Pert 13 pengujian hasil penelitiandedidarwis
Β 
Pert 12 metode eksperimen
Pert 12   metode eksperimenPert 12   metode eksperimen
Pert 12 metode eksperimendedidarwis
Β 
Pert 11 kesalahan penelitian
Pert 11  kesalahan penelitianPert 11  kesalahan penelitian
Pert 11 kesalahan penelitiandedidarwis
Β 
Slide trik skripsi ftik s1
Slide trik skripsi ftik s1Slide trik skripsi ftik s1
Slide trik skripsi ftik s1dedidarwis
Β 
Pert 9 proposal penelitian
Pert 9 proposal penelitianPert 9 proposal penelitian
Pert 9 proposal penelitiandedidarwis
Β 
Pert 6 literatur review
Pert 6 literatur reviewPert 6 literatur review
Pert 6 literatur reviewdedidarwis
Β 
Pert 5 pengolahan data
Pert 5 pengolahan dataPert 5 pengolahan data
Pert 5 pengolahan datadedidarwis
Β 
Pert 5 pengumpulan-data
Pert 5 pengumpulan-dataPert 5 pengumpulan-data
Pert 5 pengumpulan-datadedidarwis
Β 

More from dedidarwis (20)

Cv dedi darwis
Cv dedi darwisCv dedi darwis
Cv dedi darwis
Β 
Manajemen pengetahuan
Manajemen pengetahuanManajemen pengetahuan
Manajemen pengetahuan
Β 
Metadata pada Data Warehouse
Metadata pada Data WarehouseMetadata pada Data Warehouse
Metadata pada Data Warehouse
Β 
Siklus Pendapatan
Siklus PendapatanSiklus Pendapatan
Siklus Pendapatan
Β 
Pengendalian SIA Berbasis Komputer
Pengendalian SIA Berbasis KomputerPengendalian SIA Berbasis Komputer
Pengendalian SIA Berbasis Komputer
Β 
Sistem Pengendalian Internal
Sistem Pengendalian InternalSistem Pengendalian Internal
Sistem Pengendalian Internal
Β 
Model data dan desain database
Model data dan desain databaseModel data dan desain database
Model data dan desain database
Β 
Pengantar e-business
Pengantar e-businessPengantar e-business
Pengantar e-business
Β 
Siklus sistem informasi akuntansi
Siklus sistem informasi akuntansiSiklus sistem informasi akuntansi
Siklus sistem informasi akuntansi
Β 
Konsep Dasar Sistem Informasi Akuntansi
Konsep Dasar Sistem Informasi AkuntansiKonsep Dasar Sistem Informasi Akuntansi
Konsep Dasar Sistem Informasi Akuntansi
Β 
Pert 14 publikasi hasil penelitian
Pert 14 publikasi hasil penelitianPert 14 publikasi hasil penelitian
Pert 14 publikasi hasil penelitian
Β 
Pert 13 pengujian hasil penelitian
Pert 13  pengujian hasil penelitianPert 13  pengujian hasil penelitian
Pert 13 pengujian hasil penelitian
Β 
Pert 13 pengujian hasil penelitian
Pert 13  pengujian hasil penelitianPert 13  pengujian hasil penelitian
Pert 13 pengujian hasil penelitian
Β 
Pert 12 metode eksperimen
Pert 12   metode eksperimenPert 12   metode eksperimen
Pert 12 metode eksperimen
Β 
Pert 11 kesalahan penelitian
Pert 11  kesalahan penelitianPert 11  kesalahan penelitian
Pert 11 kesalahan penelitian
Β 
Slide trik skripsi ftik s1
Slide trik skripsi ftik s1Slide trik skripsi ftik s1
Slide trik skripsi ftik s1
Β 
Pert 9 proposal penelitian
Pert 9 proposal penelitianPert 9 proposal penelitian
Pert 9 proposal penelitian
Β 
Pert 6 literatur review
Pert 6 literatur reviewPert 6 literatur review
Pert 6 literatur review
Β 
Pert 5 pengolahan data
Pert 5 pengolahan dataPert 5 pengolahan data
Pert 5 pengolahan data
Β 
Pert 5 pengumpulan-data
Pert 5 pengumpulan-dataPert 5 pengumpulan-data
Pert 5 pengumpulan-data
Β 

Recently uploaded

Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
Β 
materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxsiswoST
Β 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
Β 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
Β 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
Β 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
Β 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
Β 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
Β 

Recently uploaded (8)

Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Β 
materi pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptxmateri pengendalian proyek konstruksi.pptx
materi pengendalian proyek konstruksi.pptx
Β 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
Β 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Β 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Β 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
Β 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
Β 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
Β 

TEMU_KEMBALI_CITRA

  • 1. BAB 14 Aplikasi Temu Kembali Citra Setelah bab ini berakhir, diharapkan pembaca dapat memahami berbagai hal yang berhubungan dengan temu kembali citra dan mampu mempraktikkannya. οƒΌ Aplikasi temu kembali citra οƒΌ Perhitungan jarak antardua citra οƒΌ Contoh penerapan jarak
  • 2. 686 Pengolahan Citra Teori dan Aplikasi 14.1 Pengantar Aplikasi Temu Kembali Citra Temu kembali citra (image retrieval) merupakan proses untuk mendapatkan sejumlah citra berdasarkan masukan satu citra. Istilah yang lebih spesifik lagi adalah content based image retrieval (CBIR) atau temu kembali citra berdasarkan isinya. Istilah tersebut dikemukakan pertama kali oleh Kato pada tahun 1992 (Zhang, 2002). Awalnya, CBIR digunakan untuk pencarian citra secara otomatis di dalam suatu database didasarkan pada fitur warna dan bentuk. Sejak saat itu, bermunculan berbagai sistem CBIR. Contoh yang terkenal adalah Query By Image Content (QBIC) yang dikembangkan oleh IBM. Pada perkembangan selanjutnya, fitur tekstur juga dimasukkan sebagai bagian untuk melakukan pencarian citra. Prinsip temu kembali citra ditunjukkan pada Gambar 14.1. Fitur sejumlah objek telah disimpan di dalam database. Selanjutnya, ketika suatu citra dijadikan sebagai bahan query, fitur akan dihitung setelah melalui prapemrosesan dan segmentasi. Fitur yang diperoleh dibandingkan dengan fitur semua objek yang terdapat di dalam database, melalui perhitungan jarak fitur. Hasil jarak ini sering disebut sebagai skor atau ranking. Seluruh skor diurutkan dari yang paling bernilai kecil ke yang paling besar. Objek-objek yang menghasilkan skor rendah adalah citra yang mirip dengan citra query. Untuk membatasi, hanya n citra yang disajikan sebagai hasil query. Dalam hal ini, nilai n dapat ditentukan oleh sistem ataupun pengguna.
  • 3. Aplikasi Temu Kembali Citra 687 Citra Masukan Prapemrosesan dan Segmentasi Ekstraksi Fitur Database Perhitungan Jarak Fitur Pengurutan Jarak Pemilihan n Citra Hasil Gambar 14.1 Prinsip temu kembali citra 14.2 Perhitungan Jarak Antara Dua Citra Jarak merupakan pendekatan yang umum dipakai untuk mewujudkan pencarian citra. Fungsinya adalah untuk menentukan kesamaan atau ketidaksamaan dua vektor fitur. Tingkat kesamaan dinyatakan dengan suatu skor atau ranking. Semakin kecil nilai ranking, semakin dekat kesamaan kedua vektor tersebut. Pengukuran jarak dilakukan dengan beberapa cara. Beberapa metode yang umum dipakai dijelaskan di dalam subbab ini. 14.2.1 Jarak Euclidean Jarak Euclidean didefinisikan sebagai berikut: 𝑗(𝑣1, 𝑣2) = βˆšβˆ‘ (𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜))2𝑁 π‘˜=1 (14.1)
  • 4. 688 Pengolahan Citra Teori dan Aplikasi Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N menyatakan panjang vektor. Apabila vektor memiliki dua nilai, jarak Euclidean dapat dibayangkan sebagai sisi miring segitiga (Gambar 14.2(a)). (a) jarak Euclidean (b) Jarak city-block (c) Jarak Chebychef y x x x y y max(y, x)y+x √π‘₯2 + 𝑦2 Gambar 14.2 Gambaran jarak Euclidean, City-block, dan Chebychef Sebagai contoh, terdapat dua vektor seperti berikut: 𝑣1 = [ 4, 3, 6] 𝑣2 = [ 2, 3, 7] Jarak Euclidean kedua vektor adalah: π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = √(4 βˆ’ 2)2 + (3 βˆ’ 3)2 + (6 βˆ’ 7)2 = √5 = 2,2361 Jarak Euclidean merupakan jarak yang umum dipakai dalam temu kembali citra. Beberapa penelitian yang memanfaatkan jarak ini antara lain dilakukan oleh Hastuti, dkk. (2009) dan Kadir, dkk. (2011a). 14.2.2 Jarak City-Block Jarak city-block didefinisikan sebagai berikut: 𝑗(𝑣1, 𝑣2) = βˆ‘ |𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)|𝑁 π‘˜=1 (14.2)
  • 5. Aplikasi Temu Kembali Citra 689 Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N menyatakan panjang vektor. Apabila vektor memiliki dua nilai, jarak city-block dapat dibayangkan sebagai jarak vertikal plus horizontal dari vektor pertama ke vektor kedua (Gambar 14.2(b)). Sebagai contoh, terdapat dua vektor seperti berikut: 𝑣1 = [ 4, 3, 6] 𝑣2 = [ 2, 3, 7] Jarak city-block kedua vektor tersebut berupa π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = |4 βˆ’ 2| + |3 βˆ’ 3| + |6 βˆ’ 7| = 3 14.2.3 Jarak Kotak Catur Jarak kotak catur atau dikenal pula dengan nama jarak Chebychef didefinisikan sebagai berikut: 𝑗(𝑣1, 𝑣2) = max π‘˜=1→𝑁(|𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)|) (14.3) Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N menyatakan panjang vektor. Apabila vektor memiliki dua nilai, jarak dapat dibayangkan sebagai jarak terpanjang antara jarak horizontal dan jarak vertikal (Gambar 14.2(c)). Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 = [ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak kotak catur kedua vektor tersebut berupa π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = max(|4 βˆ’ 2|, |3 βˆ’ 3|, |6 βˆ’ 7|) = 2 14.2.4 Jarak Minkowski Jarak Minkowski didefinisikan sebagai berikut:
  • 6. 690 Pengolahan Citra Teori dan Aplikasi 𝑗(𝑣1, 𝑣2) = βˆšβˆ‘ |(𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)| 𝑝𝑁 π‘˜=1 1/𝑝 (14.4) Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N menyatakan panjang vektor. Apabila p bernilai 1, jarak berupa city-block. Apabila p bernilai 2, jarak berupa Euclidean. Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 = [ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak Minkowski kedua vektor tersebut untuk p berupa 3 berupa: π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = √(4 βˆ’ 2)3 + (3 βˆ’ 3)3 + (6 βˆ’ 7)3 1/3 = √9 1/3 = 2,0801 14.2.5 Jarak Canberra Jarak Canberra didefinisikan sebagai berikut: 𝑗(𝑣1, 𝑣2) = βˆ‘ |𝑣1(π‘˜)βˆ’π‘£2(π‘˜)| |𝑣1(π‘˜)|+|𝑣1(π‘˜)| 𝑁 π‘˜=1 (14.5) Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N menyatakan panjang vektor. Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 = [ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak Canberra kedua vektor tersebut berupa π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = |4 βˆ’ 2| 4 + 2 + |3 βˆ’ 3| 3 + 3 + |6 βˆ’ 7| 6 + 7 = 2 6 + 0 6 + 1 13 = 0,4103 14.2.6 Jarak Bray Curtis Jarak Bray Curtis atau jarak Sorensen (Putra, 2010) didefinisikan sebagai berikut: 𝑗(𝑣1, 𝑣2) = βˆ‘ |𝑣1(π‘˜)βˆ’π‘£2(π‘˜)|𝑁 π‘˜=1 βˆ‘ 𝑣1(π‘˜)+𝑁 π‘˜=1 βˆ‘ 𝑣2(π‘˜)𝑁 π‘˜=1 (14.6)
  • 7. Aplikasi Temu Kembali Citra 691 Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N menyatakan panjang vektor. Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 = [ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak Bray Curtis kedua vektor tersebut berupa π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = |4βˆ’2|+|3βˆ’3|+|6βˆ’7| 4+2+3+3+6+7 = 2+1 25 = 0,12 14.2.7 Divergensi Kullback Leibler Divergensi Kullback Leibler (Deselaers, 2003) didefinisikan sebagai berikut: 𝐾𝐿(𝑣1, 𝑣2) = βˆ‘ 𝑣1(π‘˜)𝑁 π‘˜=1 π‘™π‘œπ‘” 𝑣1(π‘˜) 𝑣2(π‘˜) (14.6) Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N menyatakan panjang vektor. Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 = [ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak menurut divergensi Kullback Leibler kedua vektor tersebut berupa π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = 4 βˆ— log ( 4 2 ) + 3 βˆ— log ( 3 3 ) + 6 βˆ— log ( 6 7 ) = 1,8477 14.2.8 Divergensi Jensen Shannon Divergensi Jensen Shannon (Deselaers, 2003) didefinisikan sebagai berikut: 𝐽𝐷(𝑣1, 𝑣2) = βˆ‘ 𝑣1(π‘˜)𝑁 π‘˜=1 . π‘™π‘œπ‘” 2 βˆ— 𝑣1(π‘˜) 𝑣1(π‘˜) + 𝑣2(π‘˜) + 𝑣2(π‘˜). π‘™π‘œπ‘” 2 βˆ— 𝑣2(π‘˜) 𝑣1(π‘˜) + 𝑣2(π‘˜) (14.6) Dalam hal ini, v1 dan v2 adalah dua vektor yang jaraknya akan dihitung dan N menyatakan panjang vektor.
  • 8. 692 Pengolahan Citra Teori dan Aplikasi Sebagai contoh, dengan dua vektor yang sama dengan di depan (𝑣1 = [ 4, 3, 6] dan 𝑣2 = [ 2, 3, 7]), jarak menurut divergensi Jensen Shannon kedua vektor tersebut berupa π‘—π‘Žπ‘Ÿπ‘Žπ‘˜ = 4 βˆ— log ( 2βˆ—4 4+2 ) + 3 βˆ— log ( 2βˆ—3 3+3 ) + 6 βˆ— log ( 2βˆ—6 6+7 ) + 2 βˆ— log ( 2βˆ—2 4+2 ) + 3 βˆ— log ( 2βˆ—3 3+3 ) + 7 βˆ— log ( 2βˆ—7 6+7 ) = 0,3783 14.3 Contoh Penerapan Jarak Untuk memahami manfaat jarak dua vektor dalam pengolahan citra, perhatikan contoh berikut. Program : queryzer.m function queryzer(berkas) % QUERYZER Berguna untuk melakukan query dengan % menggunakan momen Zernike. % Citra yang akan menjadi acuan Citra{1} = 'C:Imageikan-4.png'; Citra{2} = 'C:Imageikan-2.png'; Citra{3} = 'C:Imageikan-3.png'; Citra{4} = 'C:Imageikan-1.png'; Citra{5} = 'C:Imageguppi-4.png'; Citra{6} = 'C:Imageguppi-2.png'; Citra{7} = 'C:Imageguppi-3.png'; Citra{8} = 'C:Imageguppi-1.png'; % Proses momen Zernike dan hitung jarak City-block Query = im2bw(imread(berkas), 0.5); ZQuery = zermoment(Query, 10); Hasil = []; for i=1 : length(Citra) disp(sprintf('proses terhadap citra %s', Citra{i})); Ref = im2bw(imread(Citra{i}), 0.5); ZRef = zermoment(Ref, 10); jarak = 0; for j=1 : length(ZRef) jarak = jarak + abs(ZRef(j) - ZQuery(j)); end Hasil(i).nama = Citra{i}; Hasil(i).jarak = jarak; end
  • 9. Aplikasi Temu Kembali Citra 693 % Urutkan data pada array Hasil jum = length(Hasil); for p = 2: jum x = Hasil(p); % Sisipkan x ke dalam data[1..p-1] q = p - 1; ketemu = 0; while ((q >= 1) && (~ketemu)) if (x.jarak < Hasil(q).jarak) Hasil(q+1) = Hasil(q); q = q - 1; else ketemu = 1; end Hasil(q+1) = x; end end % Tampilkan hasil disp('Hasil pencocokan: '); for i=1 : jum disp(sprintf('Citra %s - Jarak: %f',Hasil(i).nama, ... Hasil(i).jarak)); end Akhir Program Fungsi queryzer memerlukan masukan berupa nama citra. Citra tersebutlah yang akan dibandingkan dengan delapan citra yang berfungsi sebagai citra referensi (database). Jarak citra masukan terhadap kedelapan citra dihitung dengan menggunakan jarak city-block. Selanjutnya, dilakukan pengurutan dari jarak terkecil ke jarak terbesar. Hasilnya menyatakan kesamaan dengan citra masukan. Semakin kecil nilai jarak berarti semakin dekat dengan citra masukan. Berikut adalah contoh pemanggilan fungsi queryzer: >> queryzer('C:Imageikan-5.png')  proses terhadap citra C:Imageikan-4.png proses terhadap citra C:Imageikan-2.png proses terhadap citra C:Imageikan-3.png proses terhadap citra C:Imageikan-1.png
  • 10. 694 Pengolahan Citra Teori dan Aplikasi proses terhadap citra C:Imageguppi-4.png proses terhadap citra C:Imageguppi-2.png proses terhadap citra C:Imageguppi-3.png proses terhadap citra C:Imageguppi-1.png Hasil pencocokan: Citra C:Imageikan-3.png - Jarak: 0.311540 Citra C:Imageikan-2.png - Jarak: 0.317283 Citra C:Imageikan-1.png - Jarak: 0.317283 Citra C:Imageikan-4.png - Jarak: 1.063666 Citra C:Imageguppi-2.png - Jarak: 1.896431 Citra C:Imageguppi-1.png - Jarak: 1.901020 Citra C:Imageguppi-3.png - Jarak: 1.908009 Citra C:Imageguppi-4.png - Jarak: 1.913503 >> Sebagai pembanding, guppi-5.png dapat dipakai sebagai bahan query. Akan terlihat bahwa ikan guppi-1.png hingga guppi-4.png akan memiliki jarak yang lebih pendek dibanding dengan kelompok ikan-1.png hingga ikan-4.png. 14.4 Pengembangan Lebih Lanjut Contoh temu kembali citra yang dicontohkan di Subbab 14.3 mempunyai kelemahan yaitu lama untuk memperoleh fitur citra. Untuk mempercepat pencarian, fitur untuk semua citra referensi dapat dihitung terlebih dulu melalui suatu skrip dan kemudian disimpan di dalam suatu database. Dengan demikian, pembandingan fitur dilakukan secara langsung, tanpa perlu menyiapkan perolehan fitur. Sebagai gambaran, perhatikan skrip berikut. Program : dbfitur.m % DBFITUR Berguna untuk menghitung fitur
  • 11. Aplikasi Temu Kembali Citra 695 % menggunakan momen Zernike dan kemudian % menyimoannya ke dalaa file .MAT % Citra yang akan menjadi acuan Citra{1} = 'C:Imageikan-4.png'; Citra{2} = 'C:Imageikan-2.png'; Citra{3} = 'C:Imageikan-3.png'; Citra{4} = 'C:Imageikan-1.png'; Citra{5} = 'C:Imageguppi-4.png'; Citra{6} = 'C:Imageguppi-2.png'; Citra{7} = 'C:Imageguppi-3.png'; Citra{8} = 'C:Imageguppi-1.png'; % Proses menghitung momen Zernike Fitur = []; for i=1 : length(Citra) disp(sprintf('Menghitung fitur citra %s', Citra{i})); Image = im2bw(imread(Citra{i}), 0.5); Z.momen = zermoment(Image, 10); Z.nama = Citra(i); Fitur(i).momen = Z.momen; Fitur(i).nama = Z.nama; end % Simpan ke file dbfitur.mat save('dbfitur', 'Fitur'); clear Citra Fitur; Akhir Program Skrip di atas cukup dipanggil sekali, seperti berikut: >> dbfitur  Menghitung fitur citra C:Imageikan-4.png Menghitung fitur citra C:Imageikan-2.png Menghitung fitur citra C:Imageikan-3.png Menghitung fitur citra C:Imageikan-1.png Menghitung fitur citra C:Imageguppi-4.png Menghitung fitur citra C:Imageguppi-2.png Menghitung fitur citra C:Imageguppi-3.png Menghitung fitur citra C:Imageguppi-1.png >>
  • 12. 696 Pengolahan Citra Teori dan Aplikasi Dengan cara seperti itu, fitur kedelapan citra akan tersimpan di file dbfitur.mat. Selanjutnya, temu kembali citra dapat dilakukan melalui fungsi queryzer2. Isinya seperti berikut. Program : queryzer2.m function queryzer2(berkas) % QUERYZER2 Berguna untuk melakukan query dengan % menggunakan momen Zernike dengan membaca % data acuan dari file dbfitur. load dbfitur; % Memuat database fitur % Proses momen Zernike dan hitung jarak City-block Query = im2bw(imread(berkas), 0.5); ZQuery = zermoment(Query, 10); Hasil = []; jumFitur = length(Fitur(1).momen); for i=1 : length(Fitur) nama = Fitur(i).nama; jarak = 0; for j=1 : jumFitur jarak = jarak + abs(ZQuery(j) - Fitur(i).momen(j)); end Hasil(i).nama = Fitur(i).nama; Hasil(i).jarak = jarak; end % Urutkan data pada array Hasil jum = length(Hasil); for p = 2: jum x = Hasil(p); % Sisipkan x ke dalam data[1..p-1] q = p - 1; ketemu = 0; while ((q >= 1) && (~ketemu)) if (x.jarak < Hasil(q).jarak) Hasil(q+1) = Hasil(q); q = q - 1; else ketemu = 1; end Hasil(q+1) = x; end end
  • 13. Aplikasi Temu Kembali Citra 697 % Tampilkan hasil secara visual disp('Hasil pencocokan dapat dilihat pada jendela gambar'); subplot(3,3,1); G = imread(berkas); imshow(G); title('Query'); for i=1 : jum subplot(3,3, i+1); G = imread(char(Hasil(i).nama)); imshow(G); title(num2str(Hasil(i).jarak)); end Akhir Program Contoh penggunaan fungsi queryzer2 seperti berikut. >> queryzer2('C:Imageikan-5.png')  Hasil pencocokan dapat dilihat pada jendela gambar >> Hasilnya dapat dilihat pada Gambar 14.3. Gambar tersebut memperlihatkan citra query dan citra-citra hasil yang dilengkapi dengan nilai jarak antara citra bersangkutan terhadap citra query, yang telah diurutkan dari jarak terpendek ke jarak terpanjang.
  • 14. 698 Pengolahan Citra Teori dan Aplikasi Gambar 14.3 Hasil query secara visual berdasar urutan besar jarak 1. Jelaskan pengertian temu kembali citra. 2. Terdapat dua vektor seperti berikut: 𝑣1 = [ 3, 8, 6,5] 𝑣2 = [ 4, 6, 7,8] Hitunglah jarak menurut: a) jarak City-block b) jarak Euclidean c) jarak Canberra d) jarak Chebychef e) jarak Bray Curtis ο€Ώ Latihan
  • 15. Aplikasi Temu Kembali Citra 699 3. Tunjukkan bahwa rumus jarak Chebychef 𝑗(𝑣1, 𝑣2) = βˆ‘ |𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)|𝑁 π‘˜=1 βˆ‘ 𝑣1(π‘˜) +𝑁 π‘˜=1 βˆ‘ 𝑣2(π‘˜)𝑁 π‘˜=1 identik dengan 𝑗(𝑣1, 𝑣2) = βˆ‘ |𝑣1(π‘˜) βˆ’ 𝑣2(π‘˜)|𝑁 π‘˜=1 βˆ‘ (𝑣1(π‘˜) + 𝑣2(π‘˜))𝑁 π‘˜=1 4. Buatlah fungsi semacam queryzer, tetapi fitur yang digunakan berupa momen Hu. 5. Buatlah fungsi semacam queryzer, tetapi fitur yang digunakan menggunakan deskriptor Fourier dengan jumlah: (a) 30 buah (b) 40 buah (c) 50 buah Amati hasilnya. Adakah kesimpulan yang dapat diambil? 6. Cobalah untuk membuat tiga fungsi yang melakukan perhitungan jarak melalui momen Zernike dengan menggunakan pendekatan: a) jarak Euclidean b) jarak Canberra c) jarak Chebychef d) jarak Bray Curtis Amati hasil yang didapatkan. Apakah dapat ditarik sesuatu kesimpulan dari situ?
  • 16. 700 Pengolahan Citra Teori dan Aplikasi 6. Cobalah pula untuk melakukan pengukuran jarak terhadap fitur tekstur. Bandingkan beberapa metode untuk memperoleh fitur tekstur yang dibahas dalam Bab 13.