ALGORITMA THINNING STENTIFORD UNTUK MENDAPATKAN BENTUK DASAR HURUF Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains Program Studi Ilmu Komputer
ALGORITMA THINNING STENTIFORD
UNTUK MENDAPATKAN BENTUK DASAR HURUF
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Oleh
Leonardus Beni Aji Prabangkoro
NIM : 043124005
PROGRAM STUDI ILMU KOMPUTER
JURUSAN MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
STENTIFORD THINNING ALGORITHM
TO OBTAIN THE BASIC FORM OF LETTER
A Thesis
Presented as Partial Fulfillment of the Requirements
to obtain the Sarjana Sains Degree
in Computer Science
By
Leonardus Beni Aji Prabangkoro
Student Number : 043124005
COMPUTER SCIENCE STUDY PROGRAM
DEPARTMENT OF MATHEMATHICS
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
HALAMAN MOTTO
Love, like truth and beauty, is concrete. Love is not fundamentally a sweet feeling;
not, at heart, a matter of sentiment, attachment, or being "drawn toward." Love is
active, effective, a matter of making reciprocal and mutually beneficial relation with
one's friends and enemies(Carter Heyward)
You're not obligated to win. You're obligated to keep trying to do the best you can
every day.(Marian Wright Edelman) Difficulties increase the nearer we get to the goal.
(Goethe)
HALAMAN PERSEMBAHAN
Tugas akhir ini kupersembahkan untuk ¾ Tuhan Yesus Kristus, Puji syukur atas segala rahmat, anugrah dan cinta kasih – Mu yang selama
ini yang telah membimbing hidupku untuk mencapai tahap ini.
¾ Kedua Orang Tuaku, Bapak dan Ibu, Tugas akhirku ini sebagai ungkapan hormat, terima kasih dan baktiku.
¾ Kakak dan Adikku, Anita dan Yoyok, Terima kasih atas dukungan kalian, O.. ya..dan maafkan adik dan
kakakmu ini yang telah mengambil jatah waktu komputer kalian
ABSTRAK
Kemajuan teknologi telah membuat perkembangan aplikasi di bidangpengenalan karakter maju dengan pesat. Pengenalan karakter meliputi pengolahan
dan analisa dokumen citra. Data masukan untuk analisa dokumen atau pengenalan
karakter umumnya berupa citra dokumen yang diperoleh secara offline. Dalam
pengolahan dan analisa ada beberapa proses yang umumnya dijalankan yaitu
grayscaling , binerisasi atau tresholding dan thinning. Thinning merupakan operasi
pengolahan citra yang beroperasi pada citra biner dengan mengikis bagian objek
menjadi bentuk garis yang mewakili kerangka dari objek tersebut.Operasi thinning mempunyai beberapa definisi. Iterative Morphological
Method merupakan salah satu dari definisi tersebut. Metode ini melakukan operasi
penghapusan piksel dengan dasar pencocokan pada template. Algoritma Stentiford
menjadi salah satu contoh dari metode ini yang dapat digunakan.Dari hasil pengujian, Algoritma Stentiford mempunyai beberapa isu atau
kekurangan. Dalam pengujian yang telah dilakukan, timbulnya line fuzz membuat
data citra hasil pengoperasian thinning secara visual tidak memenuhi asumsi atau
definisi dari kerangka. Oleh karena itu, beberapa operasi dapat ditambahkan untuk
mengatasi permasalahan ini.
ABSTRACT
The progress of technology has made a great development in patternrecognition field of study. Pattern recognition is covering image document
processing and analysis. Input data that used for document analysis and letter
recognition are generally in a form of image document that obtained in an offline
manner. Grayscaling, tresholding and thinning are few process that generally
included in processing and analysis step. Thinning is an image-processing operation
in which binary valued image regions are reduced to lines that approximate the
center lines, or skeletons of the regions.Thinning operation has several definitions. Iterative morphological method is
one of those definitions. This operation is being done by doing a deletion process to
some pixels that have a match to some templates. Stentiford algorithm is an example
for this kind of method that can be used.The test shows that Stentiford Thinning Algorithm has some issues and
problems. On the test that already done, line fuzz appearance had made input data
became visually inappropriate to the assumption and definition for skeleton.
Therefore, additional operations are needed to solve these problems.KATA PENGANTAR
Puji syukur penulis panjatkan ke Tuhan atas berkat dan cinta kasih – Nya,
sehingga penulis dapat menyelesaikan penelitian dan penyusunan skripsi berjudul
“Algoritma Thinning Stentiford untuk Mendapatkan Bentuk Dasar Huruf”. Skripsi
ini disusun sebagai salah satu syarat mencapai gelar Sarjana Sains (S.Si) Program
Studi Ilmu Komputer.Dalam pelaksanaan penelitian dan penyusunan skripsi ini tidak terlepas dari bantuan berbagai pihak. Oleh karena itu penulis ucapkan terima kasih kepada:
1. Bapak Y. Joko Nugroho, S.Si selaku dosen pembimbing, terima kasih atas segala bimbingan, saran, kritik dan kesabarannya dalam membimbing penulis selama menyelesaikan skripsi ini.
2. Ibu P. H. Prima Rosa, S.Si, M.Sc. , selaku kaprodi ilmu komputer, Terima Kasih sudah menemani kami dan menjadi ibu kedua bagi kami sebagai generasi ikom yang terakhir.
3. Kedua Orang Tuaku, Bapak dan Ibu, Terima kasih atas restu dan dukungan kalian, dan terima kasih atas persediaan kopi yang tak perna habis.
4. Kakak dan Adikku, Anita dan Yoyok, Terima kasih atas dukungan kalian, O..Ya...dan maafkan adik atau kakakmu ini yang telah mengambil jatah waktu komputer kalian.
6. Mas Susilo, Terima kasih atas bantuannya selama ini.
7. Steven, Thanks Buat Nomer HP nya!!, Ayo buruan nyusul.
8. Komunitas Lab, Gurit, Lilik, Iyus, Hendro, Ferry, Yus,Terima Kasih untuk sentilan – sentilan kalian.
9. Komunitas Triple3Bugs, Angga, Aryo`, Cnug, DC, Evan, Krena, Emon, Miko, Kotank....hei kapan kita ngumpul lagi?, “Ayo...Ngopi neng Code!”, terima kasih sudah menjadi pengobat stress di masa – masa beratku.
10. Teman – Teman IKOM angkatan 2004, Seto, Thomas, Kornel, Beni Dam, Henry, Ipunk, Hali, Githa, Mia, Tina, Arum, Bli, Adit, Steven, Debi, Pakdhe (ndari), Yo, Dewi, Amel, Munik, Via, Fitria, Madya, Willy, Trivo, Agung, Elin, Eka, Desi, Terima kasih atas dukungan dan kerjasama kalian selama ini.
11. Lielie, Sobat jauhku, Terima kasih untuk dorongan semangat yang kau beri tanpa henti.
12. Dan pihak – pihak yang belum dapat penulis sebutkan. Penulis menyadari bahwa skripsi ini masih jauh dari sempurna. Harapan penulis semoga skripsi ini bermanfaat bagi kemajuan kita semua.
Yogyakarta, Juli 2008 Penulis Leonardus Beni Aji Prabangkoro
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini
tidak memuat dan menggunakan hasil karya atau bagian dari hasil karya orang lain,
kecuali yang telah tercantum dan disebutkan dalam kutipan serta daftar pustaka
sebagaimana layaknya karya ilmiah.Yogyakarta, Juli 2008 Penulis Leonardus Beni Aji Prabangkoro
DAFTAR ISI
HALAMAN JUDUL ........................................................................................... iHALAMAN PERSETUJUAN PEMBIMBING .............................................. ii
HALAMAN PENGESAHAN ............................................................................ iii
HALAMAN MOTTO ........................................................................................ iv
HALAMAN PERSEMBAHAN ......................................................................... v
ABSTRAK .......................................................................................................... vi
ABSTRACT ........................................................................................................ vii
KATA PENGANTAR ........................................................................................ viii
HALAMAN KEASLIAN KARYA ................................................................... x
DAFTAR ISI ....................................................................................................... xi
DAFTAR TABEL ............................................................................................... xiv
DAFTAR GAMBAR .......................................................................................... xv
BAB I PENDAHULUAN ...................................................................................1
1.1. Latar Belakang ................................................................................... 1
1.2. Perumusan Masalah ..........................................................................
2
1.3. Batasan Masalah ................................................................................
2
1.4. Tujuan Dan Manfaat Penelitian .......................................................
3
1.5. Metode Penulisan ...............................................................................
3
1.6. Sistematika Penulisan ........................................................................ 4 BAB II DASAR TEORI .....................................................................................
6
2.1 Citra .....................................................................................................
6 2.1.1. Pengertian Citra ....................................................................
6 2.1.2. Format Citra Digital .............................................................
6
2.2. Pemrosesan Citra ...............................................................................
8 2.3. Thinning .............................................................................................
9
2.3.1. Pengertian Thinning .............................................................
9 2.3.2. Definisi Thinning ...................................................................
10 2.4. Algoritma Thinning Stentiford .........................................................
14 BAB III ANALISA DAN PERANCANGAN ...................................................
19
3.1. Rancangan Umum .............................................................................
19
3.2. Perancangan Proses Dalam Aplikasi ...............................................
19 3.2.1. Proses Input Citra .................................................................
20 3.2.2. Proses Grayscaling ................................................................
20 3.2.3. Proses Binerisasi ...................................................................
21
3.2.4. Proses penduplikasian citra ke dalam bentuk array 2 dimensi ...................................................................................
21 3.2.5. Proses Thinning .....................................................................
22
3.2.6. Proses rekonstruksi array 2 dimensi ke dalam bentuk citra .........................................................................................
22
3.3. Kebutuhan Perangkat Lunak ...........................................................
23
3.4. Kebutuhan Perangkat Keras ............................................................
23
3.5. Perancangan Tampilan Antar Muka ...............................................
23 3.5.1. Form Tampilan Awal ............................................................
24 3.5.2. Form Menu Utama (Tampilan Utama) ...............................
24 3.5.3. Form Penampil Citra Input .................................................
25 3.5.4. Form Penampil Citra Hasil Olahan ....................................
25 3.5.5. Form Masukkan Citra ..........................................................
26 3.5.6. Form Simpan Citra ...............................................................
26 3.5.7. Form Dialog ...........................................................................
27 3.5.8. Form Message Box ................................................................
27 BAB IV IMPLEMENTASI ...............................................................................
28
4.1. Deskripsi Kerja Program Secara Umum ........................................
28
4.2. Implementasi Algoritma ...................................................................
30
4.2.1. Algoritma Membuka dan Menampilkan Citra ..................
47 4.2.10. Algoritma Utama .................................................................
5.2. Saran .................................................................................................... 61
DAFTAR PUSTAKA .......................................................................................... 63
LAMPIRAN .........................................................................................................5.1. Kesimpulan ......................................................................................... 61
61
4.4. Pengujian Program ............................................................................ 54 BAB V PENUTUP ...............................................................................................
4.3. Implementasi Antarmuka Tampilan ................................................ 49
48
40 4.2.9. Algoritma Fungsi Rekonstruksi Citra .................................
30 4.2.2. Algoritma Menyimpan Citra ...............................................
36 4.2.8. Algoritma Fungsi Thinning Stentiford ................................
34 4.2.7. Algoritma Fungsi Acute Angle Emphasis ............................
33 4.2.6. Algoritma Fungsi Smoothing ...............................................
32 4.2.5. Algoritma Fungsi Duplikasi .................................................
30 4.2.4. Algoritma Fungsi Binerisasi .................................................
30 4.2.3. Algoritma Fungsi Grayscaling ..............................................
65
DAFTAR TABEL
Tabel 4.1 Daftar Hasil Pengujian..........................................................................58
DAFTAR GAMBAR
Gambar 2.1. Contoh kombinasi elemen Red, Green dan Blue ........................... 7 Gambar 2.2. Contoh hasil Medial Axis Tranform seperti yang diuraikan J.R.Parker (1997) .................................................................................
11 Gambar 2.3. Contoh iterasi pada huruf T yang terjadi dalam algoritma Stentiford seperti yang diungkapkan oleh J.R. Parker (1997) ......
12 Gambar 2.4. Ilustrasi polygon dan kerangkanya seperti yang diungkapkan oleh J.R. Parker (1997) ...............................................................
13 Gambar 2.5. Template yang digunakan Stentiford ............................................. 14
Gambar 2.6. Ilustrasi konektivitas piksel tengah dengan 8 piksel disekitarnya . 16Gambar 2.7. Posisi nomor setiap delapan anggota tetangga .............................. 17Gambar 2.8. Template yang digunakan oleh prosedur Acute Angle Emphasis.... 18Gambar 3.1. Gambaran Proses Secara Umum .................................................... 20 Gambar 3.2. Gambaran Proses Level 1 ..............................................................20 Gambar 3.3. Variabel yang bertipe Tbitmap di-scan dan diambil nilai RGB- nya yang kemudian akan dilakukan penghitungan. ......................
21 Gambar 3.4. Gambar yang sudah dalam bentuk grayscale di-scan kembali untuk dikonversi menjadi gambar biner ........................................
21 Gambar 3.5. Variabel bitmap yang sudah dalam format warna 1bit kemudian diduplikasi ke dalam bentuk array 2 dimensi ................................
22 Gambar 3.6. Proses Thinning yang didahului dengan smoothing dan AAE ....... 22
Gambar 3.7. Rekonstruksi gambar (variabel TBitmap) dari array ...................... 23 Gambar 3.8. Tampilan form tampilan awal .........................................................24 Gambar 3.9. Tampilan form utama ..................................................................... 24
Gambar 3.10. Tampilan Form Penampil Citra Input ........................................... 25Gambar 3.11. Tampilan Form Penampil Citra hasil olahan ................................ 25Gambar 3.12. Tampilan form dialog masukkan citra .......................................... 26Gambar 3.13. Tampilan form dialog simpan citra .............................................. 26Gambar 3.14. Tampilan form konfirmasi untuk user .......................................... 27 Gambar 3.15. Tampilan form message box .........................................................27 Gambar 4.1. Jalannya proses dalam program ..................................................... 28
Gambar 4.2. Tampilan utama dari program ....................................................... 50Gambar 4.3. Tampilan form dialog buka citra ................................................... 51 Gambar 4.4. Tampilan form citra RGB .............................................................52 Gambar 4.5. Tampilan form peringatan ketika ukuran lebar dan tinggi citra
tidak sama .....................................................................................
52 Gambar 4.6. Tampilan form citra yang telah direkonstruksi dari array dan telah melalui proses thinning Stentiford .......................................
53 Gambar 4.7. Tampilan form dialog ketika user ingin menyimpan citra hasil
operasi thinning ............................................................................
54 Gambar 4.8. Tampilan form konfirmasi bagi user ............................................. 54
Gambar 4.9. Tampilan form tentang program yang menyajikan informasi program .........................................................................................55 Gambar 4.10 Tampilan form bantuan. Form ini menyajikan hal-hal yang perlu diperhatikan sebelum menjalankan program ................................
56
BAB I PENDAHULUAN
1.1 LATAR BELAKANG
Pengenalan pola karakter merupakan proses pengolahan citra yang diikuti
dengan proses penghitungan dengan rumus matematis agar dapat dikenali. Dalam
penerapan prinsip pengenalan pola, terkadang citra yang menjadi objek pengenalan
mempunyai banyak aspek visual yang dapat dianggap sebagai gangguan, misal
seperti noise, ukuran objek yang berbeda, dan lain-lain. Atau dengan kata lain, citra
yang menjadi objek pengenalan belum menjadi objek data yang siap olah.
Preprocessing , ekstraksi ciri dan klasifikasi adalah garis besar dari proses pengenalan
pola yang dikembangkan. Beberapa proses dikembangkan untuk menjadikan objek
tersebut menjadi siap olah.Thinning menjadi salah satu aspek dalam preprocessing atau pengolahan citra
disamping grayscaling, tresholding, binerisasi dan banyak tahap–tahap lainnya yang
dikembangkan. Thinning merupakan tahap dalam preprocessing yang berfungsi untuk
menyederhanakan objek dalam citra agar proses penghitungan dan pengolahan
selanjutnya menjadi semakin cepat, ringan dan mudah. Tetapi, Thinning sendiri pun
belum menjamin apakah data hasil operasi dapat langsung dilakukan pengenalan.Iterative Morphological Method merupakan salah satu dari sekian banyak
algoritma thinning yang dikembangkan. Algoritma Stentiford merupakan salah satu
1.2 PERUMUSAN MASALAH Bagaimana mendapatkan kerangka dasar dan sederhana dari sebuah objek citra dengan menggunakan Algoritma stentiford?
contoh dari metode tersebut. Algoritma tersebut menggunakan 4 buah template yang
menjadi pedoman pencocokan piksel.1.3 BATASAN MASALAH Ada beberapa batasan dalam jalannya proses penelitian.
- Cakupan materi dari penelitian ini hanya meliputi pembuktian metode dan percobaan implementasi saja.
- Bahan atau objek dari penelitian adalah berupa citra / gambar objek huruf yang diambil secara offline dengan tipe BMP.
- Citra yang digunakan mempunyai ukuran / dimensi panjang dan lebar yang sama.
- Piranti lunak atau bahasa pemrograman yang digunakan Delphi versi 7 dalam implementasi aplikasi.
- Binerisasi, tresholding, thinning merupakan subbagian dari preprocessing citra. Penelitian ditekankan pada proses thinning saja, meskipun tidak menutup kemungkinan pada proses implementasi dan pengujian aplikasi ada
beberapa proses yang mungkin akan tetap dilakukan dengan porsi kecil.
1.4 TUJUAN DAN MANFAAT PENELITIAN
1. Tujuan Penelitian
- Mencari dan mengetahui isu atau masalah penting yang berkaitan dengan algoritma Stentiford.
2. Manfaat Penelitian
- Menemukan bentuk atau kerangka yang lebih sederhana dari objek citra yang sebenarnya.
1.5 METODE PENULISAN
1. Analisa metode dan studi pustaka Pada tahap ini akan dilakukan analisa metode yang digunakan dan mencoba mencari pemecahannya, lalu mengumpulkan bahan dengan studi literatur baik dari artikel yang didapat melalui browsing di internet, maupun arsip yang didapat dari hasil studi pada buku – buku acuan.
2. Perancangan aplikasi Perancangan model aplikasi dilakukan pada tahap ini yang meliputi perancangan proses / algoritma, perancangan tampilan / antarmuka.
3. Implementasi Proses implementasi merupakan proses yang menjadi titik awal percobaan / uji apakah hasil studi literatur yang telah kita lakukan telah sesuai dengan jalan / algoritma yang ada. Pada proses ini akan dilakukan pembuatan aplikasi
sesuai dengan rancangan yang telah ada pada tahap perancangan aplikasi.
4. Pengujian Proses pengujian merupakan proses dimana aplikasi yang dibuat penulis sebagai hasil studi teori akan diuji. Dalam pengujian ini, Akan digunakan hasil pengujian teori sebagai pembanding yang dilakukan oleh beberapa penulis buku yang menjadi acuan teori.
5. Pembuatan Laporan Tahap terakhir dari proses penelitian adalah pembuatan laporan yang mendokumentasikan semua proses dan hasil yang sudah ditempuh selama penelitian berlangsung.
1.6 SISTEMATIKA PENULISAN
BAB I. PENDAHULUAN Dalam Pendahuluan, hal yang akan dibahas meliputi latar belakang masalah, rumusan masalah, batasan masalah, tujuan penulisan, manfaat penulisan, metode penulisan, sistematika penulisan.
BAB 2. DASAR TEORI Dasar teori merupakan bab dimana landasan teori tentang hal yang dibahas dan diteliti akan dikupas secara mendalam.
BAB 3. ANALISA DAN PERANCANGAN Analisa dan perancangan merupakan bab dimana akan dilakukan analisa terhadap teori yang dipergunakan dan bagaimana proses perancangan terhadap aplikasi. Sehingga pada akhirnya nanti pada saat implementasi,
aplikasi yang dibuat tidak akan melenceng dari dasar teori yang digunakan.
BAB 4. IMPLEMENTASI Pada tahap implementasi, akan dibuat aplikasi untuk pengujian metode BAB 5. PENUTUP Penutup, akan ditarik kesimpulan tentang hasil dari pengujian yang dilakukan.
BAB 2 DASAR TEORI
2.1 Citra
2.1.1 Pengertian Citra Citra adalah representasi informasi yang diciptakan dalam bentuk 2 dimensi
dimana representasi tersebut merupakan susunan array dari bilangan real atau
bilangan kompleks yang diwakilkan dalam bilangan–bilangan bit terhingga.Citra adalah gambar pada bidang dwimatra (dua dimensi) (Munir, 2004).
Citra ada dua macam : Citra Kontinyu dan Citra Diskrit. Agar sebuah citra dapat
diolah dengan komputer digital, maka suatu citra harus direpresentasikan secara
numerik dengan nilai–nilai diskrit. Representasi citra dari fungsi malar (kontinyu)
menjadi nilai–nilai diskrit disebut digitalisasi citra dan citra yang dihasilkan inilah
yang disebut sebagai citra digital. Pada umumnya citra digital berbentuk empat
persegi panjang dan dimensi ukurannya dinyatakan sebagai tinggi x lebar (atau lebar
x panjang) (Munir, 2004).2.1.2 Format Citra Digital Menurut intensitas warnanya format citra digital dapat dikategorikan, antara lain :
1. Citra RGB (True Color) Citra RGB merupakan citra yang mempunyai 3 komponen channel yaitu Red, tergantung warna yang akan direpresentasikan. Misal, Untuk merepresentasikan warna Biru Muda, seperti pada gambar 2.1, ada tiga kombinasi tingkat warna Red, Green dan Blue untuk menghasilkan warna biru muda.
Gambar 2.1 : Contoh kombinasi elemen Red, Green dan Blue2. Citra Grayscale Citra grayscale merupakan citra menggunakan satu fungsi intensitas untuk menentukan warnanya. Fungsi intensitas yang digunakan adalah fungsi intensitas warna keabuan (hitam - putih). Fungsi intensitas warna yang digunakan pada citra grayscale mempunyai kedalaman piksel yang beragam. Tetapi, pada kebanyakan aplikasi, citra grayscale dikuantisasi pada 256 level dan membutuhkan 1 byte (8 bit) untuk representasi setiap pikselnya.
3. Citra Biner Citra biner atau yang sering juga disebut citra monokrom merupakan citra yang hanya mempunyai dua nilai kemungkinan warna pada setiap pikselnya. Citra
biner hanya dikuantisasikan pada dua level yaitu 0 dan 1, sehingga setiap piksel
pada citra cukup direpresentasikan dengan 1 bit (0 atau 1) .2.2 Pemrosesan Citra
Analisa dokumen citra mempunyai tujuan untuk mengenali komponen
tulisan dan gambar yang terkandung dalam citra serta mengambil informasi yang ada
dalam citra itu sendiri. Analisa citra dokumen mempunyai 2 komponen penting yaitu
pemrosesan textual dan pemrosesan grafis.Pemrosesan citra merupakan salah satu tahap dalam analisa dokumen citra
yang berfungsi untuk mempersiapkan citra yang akan dianalisa. Pemrosesan citra
sendiri mempunyai tujuan agar citra dapat lebih mudah dan lebih cepat untuk
diproses.Dalam Pemrosesan citra, beberapa tahap yang akan dilakukan dapat dijabarkan sebagai berikut :
1. Grayscaling
Citra grayscale merupakan citra dimana representasi setiap piksel diwakili dengan hanya satu jenis atau satu nilai warna dalam skala keabuan. Untuk mendapatkan nilai intensitas keabuan, maka dapat dihitung dengan dan 11% channel Blue. Hasil penjumlahan dari setiap elemen tersebut, yang kemudian akan direpresentasikan dalam setiap channel Red, Green dan Blue dengan nilai intensitas yang sama.
2. Tresholding Tresholding atau yang disebut juga sebagai gray – level segmentation (pemisahan warna dalam skala keabuan) merupakan proses pengubahan dari sebuah citra dengan skala keabuan menjadi citra biner atau citra dengan 2 intensitas warna yaitu hitam dan putih.
3. Thinning Thinning atau skeletonization merupakan proses dimana citra yang telah dibinerkan akan direduksi hingga yang tersisa merupakan garis tengah atau kerangka dari objek. Tujuan dari proses thinning adalah mencari informasi dasar dari citra sehingga dapat mempermudah analisis pada tahap selanjutnya.
2.3 Thinning
2.3.1 Pengertian Thinning
Secara garis besar, thinning dapat diartikan sebagai proses pereduksian
wilayah dari tepi objek berupa citra hingga yang tersisa merupakan garis tengahnya
saja atau dapat disebut juga sebagai skeleton atau kerangka. Skeleton atau kerangka
oleh J.R. Parker (1997) diasumsikan sebagai representasi bentuk dari suatu objek
dalam jumlah piksel yang relatif kecil (sedikit), yang dimana kesemuanya merupakan
kerangka diharapkan dapat merepresentasikan bentuk dari sebuah objek dalam
jumlah piksel yang relatif kecil, yang dimana semuanya saling berkaitan dan
merupakan yang terpenting. Dalam garis yang ada pada kerangka, dapat terwakili
informasi yang ada pada citra yang sesungguhnya.Dalam konsep yang telah dikembangkan oleh banyak orang, J.R. Parker
(1997) mengemukakan bahwa tidak semua objek dapat dikenai operasi thinning, dan
hasil dari operasi thinning itu sendiri yang disebut sebagai kerangka mempunyai
kemungkinan untuk tidak berfungsi disemua situasi. J.R. Parker (1997) juga
mengemukakan bahwa thinning merupakan operasi untuk mengidentifikasi kerangka
sebuah objek, operasi thinning itu sendiri tidak didefinisikan oleh algoritma yang
digunakan.2.3.2 Definisi thinning
Thinning mempunyai beberapa definisi atau metode berdasarkan uraian yang dikemukakan oleh J.R. Parker (1997), yang diantaranya adalah sebagai berikut : Medial Axis Transform 1.
Medial Axis Function (MAF) mungkin merupakan definisi yang diperkenalkan oleh Blum pada tahun 1967. MAF memperlakukan semua batas piksel terluar objek sebagai titik–titik sumber dari wave front (gelombang tepi). Setiap piksel membangkitkan setiap titik tetangganya (titik yang berhubungan) agar menjadi bagian dari wave front. Gelombang ini melewati setiap titik hanya satu kali dan ketika dua gelombang bertemu mereka akan saling membatalkan dan
menghasilkan sudut. Medial axis (poros tengah) merupakan tempat dimana sudut
itu berada dan saling membentuk skeleton. Metode Medial Axis Transform yang
diterapkan pada sebuah objek huruf T dapat diilustrasikan pada gambar 2.2 berikut (J.R. Parker, 1997):Gambar 2.2 contoh hasil Medial Axis Transform seperti yang diuraikan J.R. Parker(1997)
2. Iterative Morphological Method
Mayoritas dari algoritma thinning didasarkan pada penghilangkan lapisan–
lapisan piksel hingga tidak ada lagi lapisan yang dapat dihilangkan. Padapenerapannya, ada beberapa aturan yang digunakan dalam penghilangan lapisan
piksel. Dan kadang - kadang, proses pencocokan dengan template digunakan untuk mengimplementasikan metode ini. Algoritma thinning Stentiford merupakan salah satu contoh dari metode ini. Penjelasan secara detail dari algoritma Stentiford akan dibahas pada bab ini.Algoritma Stentiford yang diterapkan pada huruf T dapat diilustrasikan pada
gambar 2.3 di bawah ini:Gambar 2.3 Contoh iterasi pada huruf T yang terjadi dalam algoritma Stentiford sepertiyang diungkapkan oleh J.R. Parker (1997) 3.
Contour Based Method Contour Based Method merupakan cara lain dalam mendapatkan kerangka dari sebuah objek. Metode ini bekerja dengan mendeteksi bentuk terluar dari objek.
Contour Based Algorithm mempunyai alur inti sebagai berikut : 1. Mendeteksi bagian / bentuk terluar dari objek.
2. Mengidentifikasi piksel dari bagian yang tidak dapat dihapus.
3. Hapus semua bagian piksel kecuali yang telah dideteksi di bagian ke – 2.
4. Jika ada bagian piksel yang telah dihapuskan pada langkah 3 , ulangi dari langkah pertama.
Metode ini mencoba untuk menyingkirkan penggunaan template 3 x 3 dalam
operasinya.Line Following (Line Tracing) 4.
Line Following merupakan salah satu metode dalam mengidentifikasi dan
mendapatkan kerangka dari objek. Metode ini bekerja dengan menggunakan
pointer untuk menentukan arah dari garis.5. Memperlakukan objek sebagai Polygon Cara lain untuk melakukan operasi thinning dapat dilakukan dengan memperlakukan batas terluar (boundary) objek sebagai polygon sebelum
diidentifikasi kerangkanya. Memperlakukan batas luar objek sebagai polygon
dapat diilustrasikan dengan gambar 2.4 berikut:Gambar 2.4 ilustrasi polygon dan kerangkanya seperti yang diungkapkan oleh J.R. Parker (1997)6. Force Based Thinning Forced Based Thinning juga merupakan salah satu metode untuk
mengidentifikasi kerangka objek. Metode ini bekerja, pertama dengan mencari piksel background yang mempunyai setidaknya satu objek piksel sebagai tetangganya dan memberi tanda. Piksel ini akan diasumsikan memberi penekanan gaya berlawanan ke semua objek piksel, semakin dekat jarak piksel disekitarnya dengan piksel yang ditandai ini, maka semakin besar gaya tekan yang akan
didapat. Daerah gaya ini dipetakan dengan membagi-bagi daerah menjadi kotak-
kotak kecil dan menghitung gaya yang bekerja pada sudut-sudut kotak. Kerangka (skeleton) dari objek terletak di dalam kotak yang mempunyai gaya bekerja di sudutnya mempunyai arah yang saling berlawanan.2.4 Algoritma Thinning Stentiford Algoritma Thinning Stentiford pertama kali diperkenalkan oleh F. W. M.
Stentiford dan R. G. Mortimer. Algoritma Stentiford menggunakan template
berukuran 3 x 3 untuk melakukan pencocokan dengan citra. Ketika kecocokan
terjadi, titik tengah dari piksel 3 x 3 tersebut akan dihapus (diubah warnanya ke
warna putih).Algoritma Stentiford menggunakan 4 buah template, yaitu : M1 M2 M3 M4
Gambar 2.5. Template yang digunakan StentifordTanda X yang dijabarkan pada template mengindikasikan piksel, dimana nilai pada piksel tersebut dapat bernilai 0 maupun 1.
Algoritma stentiford dapat dijabarkan sebagai berikut :
1. Cari lokasi piksel (i,j) dimana piksel yang ada di citra I, cocok dengan template M1.
2. Jika titik tengah piksel bukan merupakan endpoint (titik akhir) dan mempunyai indeks konektivitas = 1, maka tandai piksel ini untuk penghapusan. 3. ulangi langkah 1 – 2 untuk semua lokasi piksel yang cocok dengan template M1.
4. ulangi langkah 1 – 3 untuk sisa template yang belum dicocokkan : M2, M3, M4.
5. jika ada piksel yang telah ditandai sebelumnya untuk proses penghapusan, maka hapuskan piksel tersebut dengan mengubahnya menjadi warna putih.
6. jika masih ada piksel yang dapat dihapus pada langkah ke 5, maka ulangi semua proses mulai dari langkah ke – 1, jika tidak berhenti
Setiap Template mempunyai fungsi yang berbeda – beda. M1 berfungsi untuk
mencari piksel-piksel yang dapat dihilangkan pada bagian tepi atas objek, bergerak
dengan arah kiri ke kanan atas ke bawah. M2 akan mencocokkan pada bagian tepi
kiri dari objek, template ini bergerak dengan arah dari bawah ke atas, dari kiri ke
kanan. M3 akan mencari piksel–piksel sepanjang tepi bawah bergerak dari kanan ke
kiri, bawah ke atas. M4 akan mencocokan piksel–piksel pada bagian kanan objek
dari atas ke bawah, kanan ke kiri.Dalam proses tersebut, ditemukan beberapa permasalahan. Yaitu ketika
proses penghapusan menemui sebuah endpoint. Sebuah piksel disebut Endpoint
(Titik ujung) ketika piksel tersebut hanya terhubung dengan 1 piksel diantara 8 piksel
disekitarnya. Ketika proses dilakukan dan endpoint tersebut akan dihapus, Semua
bagian dari citra yang berupa garis lurus, kurva terbuka akan ikut terhapus.Indeks Konektivitas adalah konsep yang dikembangkan untuk mengurangi
masalah tersebut. Indeks Konektivitas merupakan ukuran untuk menentukan
seberapa banyak objek akan terhubung dengan sebuah piksel. Untuk menghitung
indeks konektivitas dapat digunakan rumus:= − ( ⋅ ⋅ ) 1 k + + n ∑ k k k
∈ Dari konsep konektivitas tersebut, dapat diilustrasikan: C1 C2 C3 C4 C0
2 C N N N N k s
Gambar 2.6 : Ilustrasi konektivitas piksel tengah dengan 8 piksel disekitarnyaN merupakan nilai warna dari salah satu dari delapan tetangga piksel yang k terlibat, dan S = {1, 3, 5, 7}, N 1 adalah nilai warna dari piksel di sebelah kanan dari
piksel tengah dan piksel lainnya diberi nomor secara berurutan mengikuti arah jarum
jam. Posisi dari setiap delapan anggota piksel yang menjadi tetangga dari piksel
pusat, mungkin dapat ditunjukkan dengan gambar 2.7 di bawah ini:Gambar 2.7 Posisi nomor setiap delapan anggota tetanggaNilai dari N k adalah 1 jika berwarna putih (Background) dan 0 jika hitam (objek). Dan piksel tengah diberi nomor N .
Dari hasil penghitungan indeks konektivitas, dihasilkan kesimpulan tentang kriteria dari piksel yang dapat dihapus (diubah menjadi putih), yaitu:
1. Jika sebuah piksel tidak terhubung dengan piksel lainnya, maka dapat disimpulkan bahwa indeks konektivitasnya = 1. Ketika indeks konektivitas dari sebuah piksel pusat tersebut bernilai satu maka piksel
pusat tersebut dapat dihapus dengan mengesetnya ke warna putih.
2. Indeks konektivitas = 2, piksel nilai konektivitas ini mempunyai keterhubungan dengan 2 buah piksel lain di sekitarnya. Maka ketika
piksel ini dihapus akan membuat bagian kiri dan kananya terputus.
3. Indeks konektivitas = 3.
4. Indeks konektivitas = 4.
5. Indeks konektivitas = 0 Dalam perkembangannya Stentiford menyarankan untuk memasukkan tahap
preprocessing sebelum dilakukan operasi thinning. Tahap preprocessing tersebut
meliputi operasi smoothing dan prosedur acute angle emphasis. Operasi smoothing
adalah operasi penghapusan piksel yang mempunyai dua atau kurang tetangga digunakan untuk mengatasi permasalahan tentang line fuzz yang sering muncul di implementasi algoritma Stentiford. Oleh J.R. Parker (1997), diuraikan bahwa line fuzz sering disebabkan oleh bentuk yang tidak biasa dari outline (bagian tepi atau garis tepi) objek. Prosedur acute angle emphasis dilakukan untuk menangani masalah necking pada algoritma. Operasi ini melakukan pencocokan piksel pada citra dengan template acute angle emphasis. Operasi–operasi tersebut dilaksanakan dengan urutan smoothing, acute angle emphasis kemudian baru diikuti oleh operasi thinning . Template yang digunakan dalam prosedur acute angle emphasis adalah seperti pada gambar 2.3 berikut: D1 D2 D3 D4 D5
U1 U2 U3 U4 U5
Gambar 2.8 Template yang digunakan oleh prosedur Acute Angle EmphasisBAB III ANALISA DAN PERANCANGAN
3.1.RANCANGAN UMUM Secara umum, program ini menitikberatkan pada proses thinning meskipun
dalam proses yang dilakukan meliputi proses grayscaling, binerisasi. Program
Simulasi Thinning ini bertujuan memberikan gambaran sebuah proses thinning yang
dilakukan dalam proses pengenalan pola. Simulasi ini menggunakan algoritma
Stentiford. Proses thinning merupakan proses mengambil bentuk pokok dari suatu
objek sebelum dilakukan klasifikasi dalam pengenalan pola.Dalam program ini, gambar yang digunakan merupakan gambar huruf–huruf
dan diambil dan dibuat secara offline. Dalam program, gambar tersebut diolah
terlebih dahulu dengan grayscaling dan binerisasi.3.2.PERANCANGAN PROSES DALAM APLIKASI Dalam pemrosesan yang terjadi dalam aplikasi, secara umum proses dibagi
menjadi 5 buah proses inti yang dapat diilustrasikan menjadi desain proses secara
umum dan Proses Level 1, yaitu:Gambar 3.2 Gambaran Proses Level 1 3.2.1.Proses input citra.
Proses input citra merupakan proses awal dalam program dimana citra di baca
oleh sistem. Dalam proses ini, citra dimasukkan oleh user untuk dilakukan simulasi. Proses ini terlebih dahulu dilakukan dengan memilih citra yang telah diambil secara offline. Adapun cara yang dilakukan dengan modul OpenPictureDialog yang telah tersedia dalam Delphi. Input citra berupa citraBMP dengan ukuran dimensi yang sama (MxN, dimana M=N). Setelah dilakukan