region clustering dengan mengunakan connected component labeling pada citra digital

6
Pengolahan citra digital by Jans Hendry / S2 TE UGM 09 1 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: 4-neighbourhood 8-neighbourhood p q p q diagonal- neighbourhood p q

Upload: jans-hendry

Post on 04-Jul-2015

395 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Region Clustering Dengan Mengunakan Connected Component Labeling Pada Citra Digital

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

1

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:

4-neighbourhood 8-neighbourhood

p

q

p

q

diagonal-

neighbourhood

p

q

Page 2: Region Clustering Dengan Mengunakan Connected Component Labeling Pada Citra Digital

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

2

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.

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.

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.

Matriks original Matriks mapping

Page 3: Region Clustering Dengan Mengunakan Connected Component Labeling Pada Citra Digital

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

3

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

tetangga tersebut.

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.

o Hasil akhir dari pemberian label.

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);

Page 4: Region Clustering Dengan Mengunakan Connected Component Labeling Pada Citra Digital

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

4

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

Page 5: Region Clustering Dengan Mengunakan Connected Component Labeling Pada Citra Digital

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

5

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

Hasil eksekusi program di atas:

k = 5

k = 7

Page 6: Region Clustering Dengan Mengunakan Connected Component Labeling Pada Citra Digital

Pengolahan citra digital by Jans Hendry / S2 TE UGM 09

6

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.

TERIMA KASIH

Referensi:

- 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 : [email protected]