Anda di halaman 1dari 6

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09 CLUSTERING DENGAN MEMANFAATKAN CONNECTED COMPONENT

CLUSTERING DENGAN MEMANFAATKAN CONNECTED COMPONENT LABELING

Connected component labeling merupakan teknik yang juga bisa digunakan untuk mengklasifikasikan region atau objek dalam citra digital. Teknik ini memanfaatkan teori connectivity piksel pada citra. Piksel-piksel dalam region disebut connected (ada konektifitasnya atau connectivity) bila mematuhi aturan adjacency atau aturan “kedekatan” piksel. Aturan kedekatan piksel ini memanfaatkan sifat ketetanggaan piksel. Dengan demikian piksel-piksel yang di katakan connected pada dasarnya memiliki sifat adjacency satu sama lain karena mereka masih memiliki hubungan neighbourhood atau ketetanggaan.

Misalkan sebuah symbol V menyatakan nilai intensitas piksel. Anggap saja nilai tersebut dari (0,1). Perlu diingat, bahwa citra yang bisa diolah dengan menggunakan metode ini adalah citra grayscale atau citra biner. Ketetanggaan harus memiliki panjang atau jarak 1 unit (langsung antara piksel dengan piksel tanpa ada perantara nya).

Seperti diketahui bahwa adjacency piksel terbagi atas 3 jenis. Misalkan piksel yang akan dijadikan contoh adalah p dan q.

4-adjacency

Piksel p dan q dengan nilai keduanya didefinisikan dalam V adalah 4-adjacency bila q merupakan tetangga dalam rupa 4-neighbourhood dengan p. Bisa saja sebaliknya.

8-adjacency

Piksel p dan q dengan nilai keduanya didefinisikan dalam V adalah 8-adjacency bila q merupakan tetangga dalam rupa 8-neighbourhood dengan p. Bisa saja sebaliknya.

m-adjacency Piksel p dan q dengan nilai keduanya didefinisikan dalam V adalah m-adjacency bila:

o

q merupakan tetangga dalam rupa 4-neighbourhood dengan p. Bisa saja sebaliknya, atau

o

q merupakan anggota diagonal neighbourhood dari p dan tidak boleh ada tetangga dalam rupa 4-neighbourhood dalam irisan antara p dan q. Apabila ada (maksudnya sesuai dengan nilai V), maka tidak boleh ada path atau jalur yang diletakkan di antara piksel tersebut dengan p dan piksel tersebut dengan q.

m-adjacency pada dasarnya digunakan untuk memperbaiki ambiguitas dari ketetanggaan yang disebabkan oleh penggunaan 8-neighbourhood.

Perhatikan bentuk-bentuk ketetanggaan berikut:

q p
q
p

4-neighbourhood

q

p
p
q p
q
p

diagonal- 8-neighbourhood

neighbourhood

1
1

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09 Bagaimanakah connected component labeling bekerja?

Bagaimanakah connected component labeling bekerja? Pada dasarnya dalam pemberian label untuk piksel-piksel yang terkoneksi, kita melakukan scanning terhadap semua piksel citra dari piksel paling atas. Tujuan dari aktifitas ini adalah untuk menemukan cluster terhadap region-region di dalam citra.

Langkah-langkahnya adalah sebagai berikut:

o

Sebagai langkah awal, kita harus membuat menyediakan dua buah matriks. Matriks pertama merupakan nilai intensitas yang didapat ketika membaca citra original. Matriks yang kedua merupakan matriks “0” yang ukuran nya sama dengan citra original atau disebut saja dengan matriks mapping. Tujuannya adalah untuk menyimpan label dari matriks original.

adalah untuk menyimpan label dari matriks original. Matriks original M a t r i k s
adalah untuk menyimpan label dari matriks original. Matriks original M a t r i k s

Matriks original

Matriks mapping

o

Dengan melakukan scanning, maka didapat piksel pertama yang memiliki intensitas 1. Kemudian tandai piksel tersebut, dan cari tetangga nya berupa 4-neighbourhood yang bukan nol. Kemudian nilai piksel referensi tadi di label kan dengan 1, dan label tersebut disimpan pada matriks mapping pada lokasi yang sama. Jangan lupa untuk mengganti piksel yang menjadi referensi tadi menjadi 0.

mengganti piksel yang menjadi referensi tadi menjadi 0. o Kemudian tetangga yang telah terdeteksi tadi diganti
mengganti piksel yang menjadi referensi tadi menjadi 0. o Kemudian tetangga yang telah terdeteksi tadi diganti
mengganti piksel yang menjadi referensi tadi menjadi 0. o Kemudian tetangga yang telah terdeteksi tadi diganti
mengganti piksel yang menjadi referensi tadi menjadi 0. o Kemudian tetangga yang telah terdeteksi tadi diganti

o

Kemudian tetangga yang telah terdeteksi tadi diganti menjadi 0 dan dicari lagi tetangga nya yang memiliki nilai intensitas tidak nol. Kemudian set label dari tetangga-tetangga baru tersebut dan tuliskan di matriks mapping. Label yang diberi tetap 1 atau sama dengan label yang sebelumnya karena masih memiliki adjacency atau kedekatan sebesar 1 unit.

diberi tetap 1 atau sama dengan label yang sebelumnya karena masih memiliki adjacency atau kedekatan sebesar

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09 o Kemudian piksel tadi diberi
Pengolahan citra digital by Jans Hendry / S2 TE UGM 09 o Kemudian piksel tadi diberi
Pengolahan citra digital by Jans Hendry / S2 TE UGM 09 o Kemudian piksel tadi diberi

o

Kemudian piksel tadi diberi nilai 0, dan dicari tetangganya. Lalu berikan label untuk piksel tetangga tersebut.

Lalu berikan label untuk piksel tetangga tersebut. o Langkah selanjutnya adalah dengan mengubah nilai piksel
Lalu berikan label untuk piksel tetangga tersebut. o Langkah selanjutnya adalah dengan mengubah nilai piksel

o

Langkah selanjutnya adalah dengan mengubah nilai piksel tadi menjadi 0 dan mencari tetangganya. Kemudian diberi label dan diletakkan pada matriks mapping. Hal ini terus berlangsung hingga semua piksel tidak nol di dalam matriks original menjadi 0. Dengan demikian piksel-piksel di dalam matriks original telah diberikan label yang sesuai.

demikian piksel-piksel di dalam matriks original telah diberikan label yang sesuai. o Hasil akhir dari pemberian
demikian piksel-piksel di dalam matriks original telah diberikan label yang sesuai. o Hasil akhir dari pemberian

o

Hasil akhir dari pemberian label.

yang sesuai. o Hasil akhir dari pemberian label. Teori di atas bisa diimplementasikan dalam matlab agar
yang sesuai. o Hasil akhir dari pemberian label. Teori di atas bisa diimplementasikan dalam matlab agar

Teori di atas bisa diimplementasikan dalam matlab agar mempermudah pengerjaan. Tapi matlab juga sudah menyediakan toolbox yang dapat digunakan langsung untuk melabelkan region-region piksel dalam citra.

Toolbox matlab yang bisa digunakan adalah:

cc = bwconncomp(I); L=labelmatrix(cc);

3
3

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09 Keterangan: Baris pertama maksudnya adalah

Keterangan:

Baris pertama maksudnya adalah menghitung berapa banyak foreground (bukan background) yang terdeteksi dengan menggunakan teknik connected component. Baris kedua artinya membuat matriks dengan ukuran citra original yang isinya adalah label dari piksel-piksel tersebut sesuai dengan posisi dari piksel-piksel pada citra original.

Langkah-langkah pemrograman dalam matlab.

Baca informasi citra.

 

I=imread('cluster','jpg');

imshow(I);

 

Jadikan citra menjadi grayscale.

I=rgb2gray(I);

 

Pastikan citra hanya terdiri dari dua nilai intensitas, nilai 0 dan 1. Hal ini dilakukan bila ternyata hasil dari grayscale kurang memuaskan. Pendekatan yang bisa dilakukan adalah dengan memberikan threshold filtering.

[bar kol]=size(I); for xi=1:bar for yi=1:kol if I(xi,yi)<230

 

I(xi,yi)=255;

 

else

 

I(xi,yi)=0;

 

end

end

 

end

Lakukan pelabelan piksel dengan menggunakan fungsi matlab yang sudah ada.

cc = bwconncomp(I); L=labelmatrix(cc);

Fungsi matlab untuk pelabelan, dengan sendirinya akan mengembalikan jumlah region yang terdeteksi disjoint (tidak terkoneksi). Dengan demikian, kita bisa mengetahui bentuk objek beserta labelnya. Sehingga bisa dipanggil hanya dengan menggunakan label dari objek atau region tersebut.

jum=cc.NumObjects; % menampilkan objek yang diinginkan disp('Jumlah Objek dalam Citra = '); disp(jum);

k=5;

[r,c]=find(L==k); % ganti k dari 1 hingga jumlah objek rc=[r,c]; [bar,kol]=size(rc); for xi=1:bar

xx=rc(xi,1);

yy=rc(xi,2);

img(xx,yy)=255;

end

4
4

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09 figure, imshow(img,[]), title( 'Objek Dengan

figure, imshow(img,[]), title('Objek Dengan Label yang dipilih');

Hasil eksekusi program di atas:

k = 5 k = 7 5
k
= 5
k
= 7
5

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09 Sejauh ini, teknik cluster dengan

Sejauh ini, teknik cluster dengan menggunakan connected component labeling tampak berhasil. Tapi jika anda perhatikan dengan baik, bahwa warna yang dihasilkan akan berupa hitam putih. Untuk itu dibutuhkan teknik clustering yang lain bila memang warna juga menjadi salah satu parameter dari objek dalam citra digital. Pada artikel selanjutnya akan dibahas mengenai clustering K-Means, C- Means. Dan apa saja yang terkait dengan hal itu.

Referensi:

TERIMA KASIH

- R. Gonzalez and R. Woods. Digital Image Processing. Addison Wesley

- http://blogs.mathworks.com/steve/2007/04/15/connected-component-labeling-part-4/

- my email : janshendry@gmail.com

6
6