Salamilmu's Blog

Home » Pengolahan Citra » Segmentasi Citra Biner Menggunakan Algoritma Connected Component Labeling

Segmentasi Citra Biner Menggunakan Algoritma Connected Component Labeling

July 2014
M T W T F S S
« Nov    
 123456
78910111213
14151617181920
21222324252627
28293031  

Pengolahan citra adalah salah satu cabang dari ilmu informatika yang berkutat pada usaha untuk melakukan transformasi suatu citra/gambar menjadi citra lain dengan menggunakan teknik tertentu. Salah satu bentuk operasi pengolahan citra adalah segmentasi citra digital. Segmentasi citra digital adalah pembagian daerah citra digital menjadi bagian-bagian daerah yang lebih kecil berdasarkan letak piksel dan intensitasnya yang masih berdekatan. Ada beberapa algoritma yang digunakan dalam proses segmentasi citra, diantaranya algoritma Region Growing, JSEG, Watershead,     K-Mean Clustering, Connected Component Labeling dan lain sebagainya.

Dalam tulisan ini akan dibahas mengenai proses segmentasi yang memisahkan objek – objek yang ada pada citra biner yang berupa gumpalan-gumpalan piksel (pixel blobs) yang berbentuk objek yang memiliki arti dan menghasilkan objek citra biner baru yang bersifat independen. Dalam tulisan ini pula akan membahas tentang teknik Croping Image pada pengolahan citra.

 

Algoritma 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 pikselpada citra. Piksel-pikseldalam region disebut connected (ada konektifitasnya atau connectivity) bila mematuhi aturan adjacency atau aturan “kedekatan” piksel . Aturan kedekatan pikselini 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 monokrom atau citra biner. Ketetanggaan harus memiliki panjang atau jarak 1 unit (langsung antara piksel dengan piksel tanpa ada perantara nya).

Menurut Gonzales dan Woods (1992, p40), ada dua jenis konektivitasyangdigunakanpadacitraduadimensi.

4-Konektivitas (4-Connected Neighbors)

4nc

Piksel-piksel yang berdekatan dikatakanmemilikihubungan4-konektivitasjikapiksel-piksel tersebut terletakberdampingansecarahorizontaldanvertikalN4(P). Kumpulandari piksel-piksel inidisebutdengan4 neighbors of P. “Pada konsep 4-Connected Neighbors bila terdapat 2 pixel yang bersinggungan secara diagonal maka akan dianggap 2 objek” .

8-Konektivitas (8-Connected Neighbors)

8nc

Piksel-piksel yang berdekatan dikatakanmemilikihubungan8-konektivitas jikapiksel-piksel tersebut terletakberdampingan secarahorizontaldanvertikalN8(P)ataudisebutjuga empatdiagonalneighbors. “Pada konsep 8-Connected Neighbors bila terdapat 2 pixel yang bersinggungan baik secara diagonal maupun secara horizontaldanvertikalmaka akan dianggap 1 objek” (Mozef, 2003:22).

Pada dasarnya dalam pemberian label untuk piksel yang terkoneksi, kita melakukan scanning terhadap semua piksel citra dari piksel paling atas yaitu mulai dari kiri ke kanan dan dari atas ke bawah. Tujuan dari aktifitas ini adalah untuk menemukan cluster terhadap region-region di dalam citra biner.
Dalam proses pelabelan piksel, digunakan pendekataan 4-connected neighbors untuk menghubungkan antara piksel yang memiliki nilai sama dan menggunakan teknik flood fill untuk mengisi warna acak pada piksel terpilih ke sebuah matrix penampung yang biasa disebut matrix mapping. Sebelum melakukan proses scanning dan labeling, terlebih dahulu harus kita defenisikan bahwa objek gambar/piksel yang akan kita ambil adalah tipe foreground dan yang kita tinggalkan merupakan background. Adapun langkah-langkah dalam proses scanning, labeling dan merging adalah sebagai berikut :
1.    Buat dua buah matrix, matrix pertama merepresentasikan objek gambar/citra biner yang akan diolah dan matrix kedua merupakan matrix tempat meletakkan piksel-piksel terpilih yang disebut dengan matrix mapping.

ccl1

2. Lakukan scanning piksel-piksel terhadap citra foreground mulai sisi atas matrix yaitu dari kiri ke kanan dan dari atas ke bawah.

ccl2

Jika ditemukan piksel foreground, maka lakukan pelabelan terhadap piksel tersebut, sebagai contoh label 1 (satu) dan pindahkan piksel pertama ke matrix mapping. Selanjutnya ubah nilai piksel pertama pada matrix original yang telah ditemukan tadi dengan nilai 0.

3. Lakukan pendekatan 4-connected neighbors secara berulang-ulang terhadap piksel-piksel yang memiliki kedekatan dan kesamaan nilai intensitas sampai tidak ada lagi kedekatan secara 4-connected neighbors antara piksel-piksel yang telah dilabeli dengan label (1) satu.

ccl3

ccl4

ccl5

ccl6

ccl7

ccl8

Jika sudah tidak ditemukan lagi piksel-piksel tetangga yang terdapat kedekatan secara 4-connected neighbors, maka lakukan proses merging pada matrix mapping.

4. Lakukan lagi scanning terhadap citra foreground untuk mendapatkan karakter objek yang lain.

ccl9

Jika ditemukan piksel foreground, maka lakukan pelabelan terhadap piksel tersebut, sebagai contoh label 2 (dua) dan pindahkan piksel pertama ke matrix mapping. Selanjutnya ubah nilai piksel pertama pada matrix original yang telah ditemukan tadi dengan nilai 0.

5. Lakukan pendekatan 4-connected neighbors secara berulang-ulang terhadap piksel-piksel yang memiliki kedekatan dan kesamaan nilai intensitas sampai tidak ada lagi kedekatan secara 4-connected neighbors antara piksel-piksel yang telah dilabeli dengan label (2) dua.

ccl10

ccl11

Jika sudah tidak ditemukan lagi piksel-piksel tetangga yang terdapat kedekatan secara 4-connected neighbors, maka lakukan proses merging pada matrix mapping.

Periksa kembali piksel pada matrix original dengan melakukan pelacakan atau scanning piksel – piksel citra foreground, jika tidak ditemukan, maka selesailah proses scanning, labeling dan merging.

gambar hasil akhir bisa dilihat pada gambar dibawah ini :

ccl12

Implementasi pada program

Berikut ini merupakan implementasi proses segmentasi citra biner menggunakan algoritma Connected Component Labeling yang dibuat menggunakan bahasa C #.

1. Tampilan splash screen

ccl0

2. Tampilan menu utama

ccl2

3. Tampilan form segmentasi citra biner

ccl1

Download program dan ilustrasi dari proses algoritma Connected Component Labeling http://www.4shared.com/rar/-3Zrzjcnce/CCL.html


1 Comment

  1. david resty says:

    gan minta source code nya buat referensi… thanks

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: