Jumat, 13 Desember 2013

Penipisan Pola Citra (Thinning)

Citra merupakan istilah lain dari gambar yang merupakan komponen multimedia yang memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu kaya akan informasi. Citra digital adalah citra hasil digitalisasi citra kontinu (analog). Tujuan dibuatnya citra digital adalah agar citra tersebut dapat diolah menggunakan komputer atau perangkat digital.

Thinning (penipisan) adalah proses mengurangi suatu obyek didalam citra digital menjadi ukuran yang minimum (objek (region) direduksi menjadi rangka (skeleton)) . Thinning merupakan operasi morfologi yang digunakan untuk menghilangkan bagian depan piksel dari citra biner, yang dapat digunakan pada beberapa aplikasi namun sangat berguna untuk skeletonisasi. 




Thinning hanya digunakan pada citra biner dan menghasilkan citra biner lain sebagai outputnya . Thinning merupakan bentuk "pre-processing" yang digunakan dalam banyak teknik analisa citra. Output dari proses ini disebut sebagai "skeleton" , oleh karena itu thinning bisa juga disebut sebagai "skeletonisasi" . Thinning bertujuan untuk mengurangi bagian yang tidak perlu (redudant) sehingga hanya dihasilkan informasi yang essensial saja. Pola hasil penipisan harus tetap menyerupai bentuk pola asal . Sebagai contoh : gambar dibawah ini adalah huruf "R" dan hasil polanya menjadi rangka "R"


Gambar 1 Citra Huruf R setelah ditipiskan


Citra hitam putih yang diambil sebagai masukan, akan ditipiskan terlebih dahulu. Citra dengan warna latar belakang hitam dipakai, karena proses penipisan ini memerlukan citra dengan warna latar belakang hitam dan objek harus berwarna putih. Penipisan ini digunakan untuk mengurangi ketebalan sebuah objek hingga ke batas minimum yang diperlukan oleh program sehingga dapat dikenali. Dengan mengurangi ukuran dari objek, pengenalan dari sebuah objek dapat dilakukan dengan lebih mudah. Citra yang dimasukkan ini hasil dari penipisannya akan digunakan sebagai masukan untuk dibandingkan dengan target yang telah disediakan.



Penipisan pola merupakan proses yang iteratif yang menghilangkan pixel-pixel hitam (mengubahnya menjadi pixel putih) pada tepi-tepi pola. Jadi, algoritma penipisan mengelupas pixel-pixel pinggir objek, yaitu pixel-pixel yang terdapat pada peralihan 0-> 1. Algoritma penipisan pola harus memenuhi persyaratan sebagai berikut [PIT93]:



1. Mempertahankan keterhubungan pixel-pixel objek pada setiap lelaran. Dengan kata lain, tidak menyebabkan bentuk objek menjadi terputus (Gambar 11.12(a)).



2. Tidak memperpendek ujung lengan dari bentuk yang ditipiskan (Gambar 11.12(b)).

Algoritma penipisan yang umum adalah memeriksa pixel-pixel di dalam jendela yang berukuran 3 X 3 pixel dan mengelupas satu pixel pada pinggiran (batas) objek pada setiap lelaran, sampai objek berkurang menjadi garis tipis. Notasi pixel di dalam jendela 3 X 3 diperlihatkan pada Gambar 11.12(c). Algoritma bekerja secara iteratif, pada setiap lelaran dilakukan premrosesan pada jendela yang berukuran 3 X 3 pixel.




Algoritmanya adalah sebagai berikut [PIT93]:



1. Mula-mula diperiksa jumlah pixel objek (yang bernilai 1), N, di dalam jendela 3 X 3 pixel.


2. Jika N kurang atau sama dengan 2, tidak ada aksi yang dilakukan karena di dalam jendela terdapat ujung lengan objek.

3. Jika N lebih besar dari 7, tidak ada aksi yang dilakukan karena dapat menyebabkan pengikisan (erosion) objek.

Gambar 11.12 (a) Penghapusan pixel pinggir menyebabkan ketidakterhubungan,

(b) penghapusan pixel pinggir memperpendek lengan objek,

(c) notasi pixel yang digunakan untuk memeriksa keterhubungan.


4. Jika N lebih besar dari 2, periksa apakah penghilangan pixel tengah menyebabkan objek tidak terhubung. Ini dilakukan dengan membentuk barisan p1p2p3…p8p1. Jika jumlah peralihan 0 ® 1 di dalam barisan tersebut sama dengan 1, berarti hanya terdapat satu komponen terhubung di dalam jendela 3 X 3. Pada kasus ini, dibolehkan menghapus pixel tengah yang bernilai 1 karena penghapusan tersebut tidak mempengaruhi keterhubungan. 

Algoritma penipisan pola dalam bahasa C diperlihatkan pada Algoritma 11.1.

Algoritma 11.1 Penipisan Pola

Nama    : Luqman Nurrohim (54410095) dan Sri Fitri Ningsih (56410666)
Kelas : 4IA11

1 komentar: