• Tidak ada hasil yang ditemukan

Bab ini berisi kesimpulan yang dapat diambil penulis selama melakukan penelitian, berdasarkan hasil-hasil pada bab sebelumnya, selain itu juga berisi beberapa saran yang dapat penulis ajukan untuk pengembangan lebih lanjut.

10

BAB II. LANDASAN TEORI

LANDASAN TEORI

Penelitian ini lebih menekankan pada proses penipisan dengan menggunakan algoritma penipisan zhang suen dan obyek yang akan dikenai proses penipisan berupa citra digital bertuliskan huruf jawa. Kemudian dilanjutkan dengan mengevaluasi hasil keluaran proses penipisan. Bab ini akan menguraikan beberapa teori dan konsep yang mendasari penelitian ini diantaranya adalah jenis huruf Jawa, teori citra dan pengelompokannya, konsep binerisasi dan cara mendapatkan nilai ambang, teori penipisan dan algoritma penipisan zhang suen, serta penjelasan singkat mengenai beberapa bahasa pemrograman untuk membangun sistem untuk membantu memudahkan penelitian.

2.1.Aksara Jawa

Aksara Jawa dalam lafalan baku memiliki urutan tertentu, yang diwakili oleh 20 aksara dasar (ha, na, ca, ra, ka, da, ta, sa, wa, la, pa, dha, ja, ya, nya, ma, ga, ba, tha, nga) (Molen, 1993), seperti yang ditunjukkan pada Gambar 2.1. Aksara tersebut dikenal sebagai aksara biasa yang tergolong aksara konsonan, yang disebut sebagai legeno.

ha na ca Ra Ka

da ta sa Wa la

pa dha ja Ya nya

ma ga ba Tha nga

Gambar 2.1. Aksara Konsonan Jawa ( -, 2008).

2.2.Citra

Citra merupakan istilah lain dari gambar, sebagai bentuk informasi secara visual, dengan demikian sebuah citra pasti mengandung informasi tentang obyek yang direpresentasikan. Menurut Rinaldi Munir, citra adalah gambar pada bidang dwimatra atau dua dimensi (Munir, 2004).

Citra secara umum dapat dikelompokkan menjadi 2 yaitu: 1) Citra tampak seperti foto keluarga, gambar burung.

2) Citra tak tampak seperti data gambar dalam file, yang sering disebut citra

digital.

menggunakan komputer, sehingga penulis menggunakan citra digital sebagai obyek yang diteliti dalam penelitian ini, dimana citra digital yang digunakan berbentuk citra dokumen bertuliskan aksara jawa.

Citra digital tersusun atas kumpulan titik atau elemen-elemen gambar yang disebut piksel (picture element). Piksel merupakan elemen terkecil dari sebuah citra digital, dengan jumlah total piksel adalah M x N, dimana M merupakan width (nilai tinggi citra digital) dan N merupakan height (nilai lebar citra digital). Setiap piksel memiliki nilai berupa angka digital yang mempresentasikan informasi yang mewakili piksel tersebut.

Format nilai piksel ditentukan oleh format citra digital. Citra berdasarkan

nilai piksel dapat dikelompokan menjadi 4 macam citra (Achmad dan Firdausy, 2005), yaitu :

1.Citra Biner

Citra biner merupakan citra yang hanya mempunyai dua nilai derajat keabuan yaitu hitam dan putih. Setiap piksel pada citra biner memiliki nilai 0 untuk warna hitam atau 1 untuk warna putih dan hanya membutuhkan representasi 1 bit. Beberapa contoh citra biner antara lain, citra logo instansi (yang hanya terdiri atas warna hitam dan putih), citra kode barang yang tertera pada label barang, dan citra teks (hasil pemindaian dokumen).

Kesepakatan untuk menentukan format piksel pada citra biner bisa berbeda-beda, seperti misalnya dengan mendeskripsikan nilai 1 sebagai warna

obyek), namun ketentuan ini bukan merupakan keharusan tergantung dari citra biner yang dihasilkan.

0--- 0 0 0 0 --- 0 1 1 1 --- 0 0 0 1 --- 0 1 1 1 --- 0 1 1 1 (a) (b)

Gambar 2.2. (a) Citra biner, (b) Representasi citra biner dalam data digital.

2.Citra Skala Keabuan

Citra skala keabuan memberikan kemungkinan warna yang lebih banyak daripada citra biner. Banyaknya kemungkinan nilai dan nilai maksimumnya bergantung pada jumlah bit yang digunakan. Misalnya untuk skala keabuan 8 bit, maka jumlah kemungkinan nilainya adalah 28 = 256, dan nilai maksimumnya adalah 28-1 = 255. Format citra ini disebut skala keabuan karena pada umumnya warna yang dipakai adalah antara hitam sebagai warna minimal dan putih sebagai warna maksimalnya, sehingga warna antaranya adalah abu-abu.

---80 93 91 ---89 126 120 ---140 107 87 ---84 166 84 (a) (b)

Gambar 2.3. (a) Citra Skala Keabuan; (b) Representasi citra skala keabuan dalam data digital

3.Citra Warna

Pada citra warna, setiap titik mempunyai warna yang spesifik yang merupakan kombinasi dari 3 warna dasar, yaitu: merah, hijau dan biru. Format citra seperti ini sering disebut sebagai citra RGB (red-green-blue). Setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit), misalnya warna kuning merupakan kombinasi warna merah dan hijau sehingga nilai RGB-nya adalah 255 255 0. Dengan demikian setiap titik pada citra warna membutuhkan data 3 byte.

Jumlah kombinasi warna yang mungkin unutk format citra ini adalah 224 atau lebih dari 16 juta warna, dengan demikian bisa dianggap mencakup semua warna yang ada.

118 134 235 114 131 212 58 115 205 75 91 207 55 71 198 169 110 203 126 74 195 253 201 190 94 103 202 (a) (b)

Gambar 2.4. (a) Citra Warna; (b)Representasi citra warna dalam data digital

4.Citra Warna Berindeks

Jumlah memori yang dibutuhkan untuk format citra warna adalah 3 kali jumlah titik yang ada dalam citra yang ditinjau. Di lain pihak, pada kebanyakan kasus, jumlah warna yang ada dalam suatu citra terkadang sangat terbatas, karena banyaknya warna dalam sebuah citra tidak mungkin melebihi banyaknya titik dalam citra itu sendiri. Untuk kasus tersebut, disediakan format citra warna berindeks. Pada format ini, informasi setiap titik merupakan indeks dari suatu

tabel yang berisi informasi warna yang tersedia, yang disebut palet warna.

Palet warna merupakan bagian dari citra warna berindeks, sehingga pada saat menyimpan citra ini ke dalam file, informasi palet warna juga harus disertakan. INDEKS R G B 0 1 2 3 4 5 ...15 108 104 198 139 110 203 124 122 195 122 93 201 130 115 198 183 168 235 110 98 200 = 5 11 9 7 = 12 0 15 3 = 2 13 10 8 = 14 4 1 6

Gambar 2.5. Citra warna berindeks dan representasinya dalam data digital.

2.3.Binerisasi

Pada tahap pra-pemrosesan, sebelum memasuki tahap penipisan, data citra yang digunakan akan melewati beberapa tahap pra-pemrosesan salah satunya adalah proses binerisasi. Proses ini bertujuan untuk menandai piksel-piksel dalam citra menjadi bagian dari daerah foreground / object dan bagian dari daerah

background (O‟Gorman dan Kasturi, 1997). Sehingga melalui proses ini seluruh piksel-piksel dalam citra akan terpisah dengan jelas antara obyek dan latarnya. Pemisahan ini dilakukan dengan menguji apakah nilai dari piksel yang bersangkutan lebih besar atau tidak dari nilai threshold / ambangnya. Nilai ambang yang baik sangat dibutuhkan untuk menghasilkan keluaran berupa citra biner yang baik pula. Salah satu algoritma pencarian nilai ambang adalah dengan menggunakan algoritma threshold otsu.

2.3.1. Algoritma Threshold Otsu

Algoritma penentuan nilai ambang (threshold) yang dikembangkan oleh Nobuyuki Otsu, merupakan sebuah algoritma untuk memilih sebuah nilai ambang (threshold pada level ke-k) secara otomatis dari sebuah histogram derajat keabuan yang diperoleh dari sudut pandang analisa diskriminan. Analisa diskriminan digunakan untuk mengevaluasi kebaikan / keefektifan dari nilai ambang yang dihasilkan. Nilai ambang yang optimal dipilih berdasarkan kriteria diskriminan yaitu dengan memaksimalkan ukuran diskriminan (atau ukuran untuk memisahkan kelas-kelas yang diperoleh dalam derajat keabuan). Dimana

(eta) setara dengan maksimal dari maksimal dari ukuran diskriminan

(sigma_b_kuadrat) atau varian antar kelas (between-class variance) (Otsu, 1979).

Matlab menggunakan algoritma ini untuk menghasilkan nilai ambang suatu citra secara otomatis, sebagai hasil keluaran dari sebuah fungsi yang diberi nama fungsi graythresh.

Misal piksel-piksel citra diwakilkan dalam Lderajat keabuan [1,2, …, L], dimana pada citra skala keabuan, derajat ke-i memiliki rentang nilai 1-256. Jumlah dari piksel-piksel pada derajat ke-i, dinotasikan dengan dan jumlah total piksel dinotasikan dengan N = n1 + n2 +

+ nL. Histogram derajat keabuan yang sudah dinormalisasikan dianggap sebagai sebuah fungsi distribusi probabilitas / peluang, dengan rumusan sebagai berikut:

Kemudian jumlah kumulatif dari probabilitas dan jumlah kumulatif dari rata-rata dinotasikan sebagai berikut:

Pi= 1 dan μ (x) = i · Pi ω (x) =

dimana ω (x) adalah probabilitas moments comulative dan μ(x) adalah rata-rata

momentscomulative dari histogramnya, sampai derajat ke-x, sedangkan:

adalah rata-rata total dari citra asli.

Seperti yang telah dijelaskan sebelumnya, untuk mengevaluasi kebaikan / keefektifan nilai ambang (threshold) yang dipilih (pada level ke-k), diberikan suatu ukuran kriteria diskriminan (atau ukuran untuk memisahkan kelas) yang digunakan dalam analisis diskriminan, ukuran kriteria diskriminan tersebut adalah sebagai berikut:

Dimana, (baca: sigma_b_kuadrat) adalah variansi antar kelas, dan adalah variansi total.

Nilai ambang optimal pada level k*, diperoleh dengan memaximalkan ukuran kriteria diskriminan , atau setara dengan memaksimalkan nilai. Nilai terbesar dipilih menggunakan pencarian berurut (sequential search) berdasarkan jumlah kumulatif dari probabilitas ( ) dan jumlah kumulatif dari rata-rata ( ).

Ukuran kriteria diskriminan dan nilai pada level ke-k, dinotasikan sebagai berikut:

Sedangkan nilai ambang optimal pada levelk*, yang didapat dari levelk* dengan nilai terbesar, dinotasikan sebagai berikut:

Dimana nilai ambang optimal k* berada dalam rentang nilai [0, 1].

Pada Lampiran 1. – Lampiran 2. akan ditunjukkan proses penentuan nilai ambang (threshold) untuk citra huruf jawa „ra‟ dengan menggunakan algoritma otsu. Melalui proses tersebut citra dengan obyek huruf jawa „ra‟ yang termasuk citra skala keabuan seperti Gambar 2.6, menghasilkan nilai ambang sebesar 0,52549.

Gambar 2.6. Citra Huruf Jawa „Ra

2.4.Penipisan

Pada proses pengenalan pola, banyak bentuk terutama bentuk yang mengulur atau memanjang yang dapat dinyatakan dalam bentuk yang lebih tipis. Bentuk yang lebih tipis tersebut terdiri dari garis – garis terhubung dengan tebal garis kurang lebih hanya 1 piksel dan membentang sepanjang garis sumbu suatu

obyek, biasa disebut sebagai rangka (skeleton).

Penipisan didefinisikan sebagai proses pengurangan pola (pattern) yang secara umum diperpanjang (elongated) ke representasi yang menyerupai garis (Lam et al., 1992). Sedangkan menurut Rinaldi Munir, penipisan adalah operasi pemrosesan citra biner dimana obyek direduksi menjadi rangka yang menghampiri garis sumbu obyek (Munir, 2004). Hasil dari proses penipisan disebut sebagai rangka (skeleton), seperti yang ditunjukan pada Gambar 2.7.

Gambar 2.7. Rangka Hasil Proses Penipisan yang didapat dari 4 Algoritma (Dawoud dan Kamel, 2003)

Syarat-syarat yang harus dipenuhi sebuah rangka adalah sebagai berikut (Toussaint, -):

1. Ketipisan : kerangka dari dari suatu citra terdiri dari garis tipis, yang diperoleh dengan menghapus (merubah dari hitam ke putih) secara berturut-turut piksel-piksel obyek yang berada di tepi obyek dari sebuah citra hingga semua garis

yang tersisa lebarnya satu titik.

2. Konektivitas : kerangka dari suatu obyek terhubung satu sama lain sesuai dengan topologi aslinya.

3. Posisi: letak kerangka setelah mengalami proses penipisan, tepat ditengah obyek.

4. Stabilitas: setelah suatu bagian kerangka diperoleh, maka bagian tersebut tidak akan terkikis oleh operasi pengikisan berikutnya.

Hampir seluruh algoritma penipisan diterapkan pada citra biner (Lam et al., 1992), sehingga bila data yang akan ditipiskan masih merupakan citra warna maupun citra skala keabuan, maka pada tahap pra-pemrosesan sebelum memasuki proses penipisan, citra tersebut diubah terlebih dahulu menjadi citra biner melalui operasi binerisasi. Meskipun lebih banyak digunakan citra biner, ada beberapa algoritma penipisan menggunakan citra warna maupun citra skala keabuan sebagai data masukkan (Verwer et al., 1993).

Proses penipisan secara umum dinilai baik bila memenuhi persyaratan sebagai berikut:

1. Mampu memperkecil ukuran data (Lam et al., 1992).

2. Menghasilkan gambar garis yang tipis dari suatu obyek, dimana garis tersebut terdiri atas piksel-piksel yang saling terhubung (Engkamat, 2005).

3. Mampu mempertahankan keterhubungan antar piksel-piksel obyek (konektivitas), atau dengan kata lain tidak menyebabkan bentuk obyek menjadi terputus (Munir, 2004).

4. Mampu mempertahankan ciri penting dari suatu obyek (Lam et al., 1992). 5. Menghasilkan bentuk yang menyerupai bentuk aslinya dengan tidak

mengenalkan ciri baru dari suatu obyek dimana ciri tersebut bukan merupakan bentuk aslinya, maupun tidak menghilangkan ciri dari obyek tersebut (Engkamat, 2005).

Tujuan dari proses penipisan adalah mengurangi bagian yang tidak perlu hingga tersisa hanya rangkanya saja, sehingga akan dihasilkan informasi yang penting saja (Munir, 2004). Informasi tersebut mungkin terdiri atas struktur-struktur dari suatu obyek seperti persimpangan (junctions), titik ujung (end points) dantitik hubung (connection points).

Beberapa keuntungan yang akan diperoleh apabila proses penipisan berhasil dengan baik

1. Ukuran data menjadi lebih kecil sebab hanya akan dihasilkan informasi yang penting saja, dengan demikian mengurangi penggunaan memori. (Zhang dan Wang, 1992) dan (Lam et al., 1992).

2. Memudahkan dalam analisa struktur bentuk suatu objek sebab proses penipisan akan mengurangi informasi yang tidak diperlukan dan hanya dihasilkan rangka dari obyek tersebut (Dawoud dan Kamel, 2003).

3. Rangka yang dihasilkan dapat digunakan untuk proses pengenalan pola (pattern recognition), khususnya pada character recognition yang tidak memperhatikan ketebalan piksel dari pola aslinya (Zhang dan Wang, 1992).

2.4.1. Algoritma Penipisan Zhang Suen

Citra digital biner didefinikan dengan sebuah matrik IT, dimana tiap piksel dari matrik IT (i, j) bernilai 0 atau 1. Pola dari piksel yang menjadi obyek memiliki nilai 1. Diasumsikan bahwa tetangga dari titik (i, j) adalah (i-1, j), (i-1,

j+1), (i, j+1), (i+1, j+1), (i+1, j), (i +1, j-1), (i, j-1) and (i-1, j-1), seperti ditunjukan pada Gambar 2.8.

Algoritma zhang suen termasuk kedalam algoritma penipisan paralel, dimana pada algoritma ini, nilai baru yang diberikan untuk sebuah titik pada iterasi sekarang (iterasi ke- n) tergantung pada nilai yang dihasilkan pada iterasi sebelumnya (iterasi ke-(n-1)), dimana seluruh titik yang mewakili citra tersebut diproses secara serentak, dengan asumsi bahwa menggunakan jendela 3x3 dan tiap titik terhubung dengan 8 titik tetangga.

Gambar 2.8. Notasi 8 Titik Tetangga dari Titik (i, j) Pada Jendela 3x3 (Zhang dan Suen, 1984)

Algoritma oleh Zhang dan Suen (Zhang dan Suen, 1984), menghilangkan titik-titik batas yang teridentifikasi dari pola citra, kecuali titik-titik yang termasuk kerangka dari citra. Agar dapat menghasilkan rangka dengan tetap mempertahankan hubungan antar piksel-piksel sebuah rangka, maka setiap iterasi

(i-1, j-1) (i-1, j) (i-1, j+1)

(i, j-1) (i, j+1)

dibagi kedalam dua subiterasi.

Subiterasi pertama menentukan titik-titik batas yang terletak pada batas selatan-timur dan ujung-ujung utara-barat. Subiterasi kedua menentukan titik-titik batas yang terletak pada batas utara-barat dan ujung-ujung selatan-timur. Kedua subiterasi tersebut dibutuhkan dan harus dipenuhi untuk menjaga hubungan dari pola utama pada kerangka-kerangkanya karena titik-titik yang teridentifikasi dipindah-pindahkan secara paralel. Proses penipisan selesai apabila tidak ada titik batas yang teridentifikasi untuk dihapus sesuai dengan kedua ketentuan subiterasi tersebut.

Langkah pada subiterasi pertama adalah menandai semua titik kontur untuk dihapus, jika titik kontur tersebut memenuhi seluruh kondisi dibawah ini (Zhang dan Suen, 1984):

(1). 2 B(P1) 6

B(P1) adalah banyaknya titik tetangga dari titik P1yang bukan nol / nonzero

(Zhang dan Suen, 1984), yaitu: B(P1) = P2+ P3+ P4+... + P8+ P9. Seperti tampak pada Gambar 2.9.

(2). A (P1) = 1

A (P1) adalah banyaknya transisi pola 0 ke 1 dari nilai piksel P2, P3, P4, ... , P8, P9, P10 (P10 = P2) secara berurutan, untuk operasi terhubung 8 (8 titik tetangga). Seperti tampak pada Gambar 2.10.

(3). P2

.

P4

.

P6 = 0

Kondisi (1), digunakan untuk menunjukkan bahwa tidak ada titik terisolasi ataupun titik ujung yang terkikis, serta untuk mencegah pengecilan rangka (-,2008). Titik terisolasi adalah titik obyek yang semua tetangganya adalah titik latar atau dengan kata lain banyaknya B(P1) = 0, seperti pada Gambar 2.9 (a). Sedangkan titik ujung adalah titik obyek yang mempunyai tepat sebuah tetangga yang merupakan titik obyek juga atau dengan kata lain banyaknya B(P1) = 1, seperti pada Gambar 2.9 (b). Demikian juga titik yang berada dalam obyek, atau dengan kata lain B(P1) = 8, seperti pada Gambar 2.9 (d), sedangkan titik obyek yang memiliki tetangga berjumlah 7 titik, dimana ketujuh titik tersebut juga merupakan titik obyek, atau dengan kata lain banyaknya B(P1) = 7, seperti pada Gambar 2.9 (c)., tidak boleh dihilangkan untuk mencegah pengecilan rangka (-, 2008).

Kondisi (1) dilanggar jika titik P1memiliki hanya satu atau tujuh tetangga, bahkan tidak memiliki tetangga dari 8-tetangganya yang pikselnya merupakan titik obyek.

Kondisi (2), digunakan untuk mempertahankan keterhubungan antar piksel-piksel obyek (-,(2008)) (Martin dan Tosunoglu, -), di mana ketika nilai A(P1) = 0 seperti pada Gambar 2.11 (a), maka titik P1 akan dihapus sebab merupakan titik terasing, namun kondisi A(P1) = 0 tidak mungkin terjadi sebab tidak memenuhi kondisi 1 karena seluruh tetangganya merupakan latar, jika A(P1) = 1 seperti pada Gambar 2.11 (b), titik P1 dihapus maka tidak akan mempengaruhi keterhubungan antara kanan dan kiri, namun bila kita

menghilangkan suatu titik yang mempunyai nilai A(P1) lebih dari 1, seperti pada Gambar 2.11 (c) nilai A(P1) = 2, Gambar 2.11 (d) nilai A(P1) = 3, dan Gambar 2.11 (e) nilai A(P1) = 4, maka pola atau kerangka akan menjadi terputus. Dengan demikian titik P1 pada kemungkinan tersebut tidak boleh dihapus.

Kondisi (3) dan (4) pada subiterasi pertama dipenuhi jika minimal

P4= 0 atau P6= 0 atau (P2= 0 dan P8= 0). Kedua kondisi ini menunjukkan bahwa titik yang akan dihapus berada pada batas tepi selatan-timur atau ujung-ujung utara-barat.

(a) B(P1) = 0 (b) B(P1) = 1 (c) B(P1) = 7 (d) B(P1) = 8

Gambar 2.9. Contoh Titik yang tidak memenuhi kondisi (1) (- , 2008) 1

A(P1) = 2

2

Gambar 2.10. Penghitungan Transisi Pola 0-1 dari Urutan Piksel

P2,P3, P4, P5, P6,P7, P8, P9 (Zhang dan Suen, 1984)

0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 11

(a) A(P1) = 0 (b) A(P1) = 1 (c) A(P1) = 2 (d) A(P1) = 3

(e) A(P1) = 4

Gambar 2.11. Kemungkinan-kemungkinan Jumlah A(P1) (Martin dan Tosunoglu, -)

Misalnya, untuk nilai P2, P3,P4,... , P8,P9, seperti pada 0.

Gambar 2.12. Contoh Penghitungan B(P1) dan A(P1)

0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1

Setelah subiterasi pertama selesai, hapus seluruh titik yang telah ditandai, kemudian dilanjutkan dengan subiterasi kedua, yang diterapkan terhadap titik kontur dari hasil subiterasi pertama (sebelumnya), dimana hanya kondisi (3) dan (4) yang akan diubah, sedangkan kondisi (1) dan (2) sama seperti pada subiterasi pertama:

(3'). P2

.

P4

.

P8 = 0

(4'). P2

.

P6

.

P8 = 0

Kondisi (3‟) dan (4‟) pada subiterasi kedua terpenuhi jika minimal (P4 = 0 dan P6= 0) atau P2= 0 atau P8= 0. Kedua kondisi tersebut menunjukkan bahwa titik yang akan dihapus berada pada batas ujung-ujung selatan-timur atau batas tepi utara-barat.

Subiterasi pertama diterapkan ke seluruh titik batas pada citra biner. Jika satu atau lebih syarat dari kondisi (1), (2), (3), dan (4) tidak dipenuhi, titik tersebut tidak ditandai untuk dihapus. Sebaliknya, jika semua kondisi terpenuhi, maka titik tersebut ditandai untuk dihapus. Titik–titik batas tersebut tidak dihapus terlebih dahulu, sampai semua titik batas dievaluasi pada subiterasi pertama. Hal ini mencegah perubahan struktur data selama eksekusi algoritma. Setelah subiterasi pertama selesai dievaluasi terhadap semua titik batas, titik-titik yang diberi tanda dihapus (misalnya dengan cara mengubah obyek menjadi latar atau mengubah nilai piksel dari 1 ke 0).

Setelah subiterasi pertama selesai dilakukan, maka proses akan dilanjutkan ke subiterasi kedua yang diterapkan untuk citra biner hasil proses dari

subiterasi pertama. Pada subiterasi kedua, titik-titik batas juga tidak akan dihapus terlebih dahulu, sampai semua titik dievaluasi. Selama proses evaluasi, titik hanya akan ditandai untuk dihapus jika titik tersebut memenuhi seluruh kondisi pada subiterasi kedua. Setelah seluruh titik pada subiterasi kedua selesai dievaluasi, maka titik yang telah ditandai, akan dihapus.

Subiterasi pertama dan kedua diterapkan berulang-ulang, sampai tidak ada lagi titik yang dapat dihapus.

Dari keterangan di atas, dapat diambil kesimpulan bahwa satu iterasi pada algoritma penipisan ini terdiri atas 6 langkah, yaitu:

1. Membaca seluruh titik pada citra biner, untuk setiap titik yang merupakan obyek citra terapkan subiterasi pertama.

2. Jika sebuah titik memenuhi ke-4 kondisi pada subiterasi pertama, tandai titik tersebut sebagai titik yang akan dihapus.

3. Menghapus seluruh titik yang sudah diberi tanda.

4. Membaca seluruh titik citra hasil subiterasi pertama, untuk setiap titik yang merupakan obyek citra terapkan subiterasi kedua.

5. Jika sebuah titik memenuhi ke-4 kondisi pada subiterasi kedua, tandai titik tersebut sebagai titik yang akan dihapus.

Langkah 1-6 akan terus berulang hingga tidak ada lagi titik yang dapat dihapus. Gambar 2.13 merupakan contoh hasil dari implementasi algoritma

penipisan zhang suen, dimana piksel yang ditandai dengan simbol “

.

” merupakan

piksel yang akan dihapus.

Pada Lampiran 3. – Lampiran 14. akan ditunjukkan proses penipisan huruf jawa „Ra‟ dengan menggunakan algoritma zhang suen. Melalui proses tersebut, penipisan citra biner dengan obyek huruf jawa „Ra‟ yang berukuran 31x21 piksel, membutuhkan 3 kali iterasi dengan 6 kali subiterasi. Pada iterasi ke-3 dan subiterasi ke-2, ketika seluruh piksel dievaluasi, ternyata tidak ditemukan piksel yang akan dihapus, dengan kata lain rangka sudah terbentuk dan proses pun berakhir.

(a) (b)

(c) (d)

Gambar 2.13. (a) Citra Awal, (b) Citra Hasil Subiterasi I,

(c) Citra Hasil Subiterasi II, (d) Hasil akhir Setelah Melalui Beberapa Iterasi (Zhang dan Suen, 1984)

2.4.2. Analisa Algoritma Penipisan

Menurut Jang dan Chin, algoritma penipisan dianalisa untuk menunjukkan bahwa suatu algoritma penipisan selalu menghasilkan rangka yang memliki ketebalan sebesar 1 piksel dan menghasilkan rangka yang saling terhubung sama seperti bentuk / topologi dari citra aslinya. (Jang dan Chin, 1990).

Menganalisa suatu algoritma diperlukan suatu alat ukur yang dapat membuktikan apakah rangka yang dihasilkan memenuhi kriteria rangka yang saling terhubung dengan ketebalan 1 piksel. Untuk itu pada penelitian ini penulis akan menganalisa rangka hasil penipisan salah satu algoritma penipisan yakni algoritma penipisan zhang suen, berdasarkan ketebalan rangka dan keterhubungan antar piksel rangka apakah sesuai dengan topologi citra aslinya, sehingga analisa dilakukan dengan menggunakan kedua pendekatan tersebut sesuai dengan yang dijabarkan oleh Jang dan Chin (Jang dan Chin, 1990).

Ketentuan-ketentuan / definisi yang akan digunakan dalam analisa, dijelaskan sebagai berikut (Jang dan Chin, 1990):

Sebuah himpunan disebut berhingga jika mengandung elemen-elemen yang berhingga. Misalnya P adalah himpunan bagian berhingga dari Z2. Z2 adalah matrik 2 dimensi, sedangkan Z adalah himpunan bilangan bulat (integer). P

mewakili sebuah citra dengan luas yang berhingga yang seluruhnya mengandung nilai 1, dan Q={0, 1} yaitu himpunan yang elemennya berisi 0 atau 1.

Sebuah citra biner berhingga adalah sebuah fungsi yang memetakan P ke dalam Q. Kemudian citra biner X secara unik didefinisikan sebagai himpunan obyek yaitu himpunan S.

S = {p P : X(p) = 1}

Kemudian mengidentifikasi citra biner dengan himpunan obyek (S). Himpunan-himpunan ini adalah sembarang himpunan bagian dari P.

Definisi 1: Sebuah titik p mempunyai 4 tetangga yang disebut atas, bawah, kiri, dan kanannya, yaitu titik a, b, c, dan d seperti yang ditunjukkan pada

Gambar 2.14. Titik-titik ini disebut 4-neighbors dari p (atau 4-adjacent dari p). Jika U, V S,dan beberapa titik dari U adalah 4-adjacent terhadap beberapa titik dari V, maka U dikatakan 4-adjacent dari V.

Definisi 2: Sebuah titik p mempunyai 4 tetangga diagonal, yaitu titik e, f,

g, dan h seperti ditunjukkan pada Gambar 2.14. Ke-empat titik tersebut, bersama dengan titik 4-neigbors seperti yang disebutkan pada definisi 1, maka akan disebut 8-neigbors dari p (atau 8-adjacent dari p). Misalnya U, V S, dan beberapa titik dari U adalah 8-adjacent terhadap beberapa titik dari V, maka U dikatakan 8-adjacent terhadap V.

(a) (b)

Gambar 2.14. (a) 4-neigbors dan 8-neigbors dari titik p,

(b) koordinate 4-neigbors dan 8-neigbors dari titik p

Definisi 3: Sebuah 8-path ataupun 4-path yang disebut (x,y) yaitu panjang n dari x ke y adalah sebuah urutan dari titik-titik ( x = x0, x1, x2, ...,xn = y),

dimana xi adalah 8-neigbors atau 4-neigbors dari xi-1, untuk 1 i n, seperti

ditunjukkan pada Gambar 2.15, (x,y) merupakan 8-path atau 4-path dengan panjang n = 6 dari x ke y dengan urutan x0, x1, x2, ...,x6, dimana x1 merupakan

8-neigbors dari x0 , x2 merupakan 8-neigbors dari x1 , x3 merupakan 4-neigbors dari

x4 , begitu seterusnya hingga x6.

(-1,-1) (0,-1) (1,-1) (-1,0) (0,0) (1,0) (-1,1) (0,1) (1,1) e A f d P b h C g

Gambar 2.15. (a) 4-path dan 8-path (x,y)

Definisi 4: Misalkan x dan y adalah 2 titik yang berbeda dalam S. Titik x

disebut merupakan 8-path-connected atau 4-path-connected terhadap y, jika terdapat sebuah 8-path ataupun 4-path, (x,y), dalam S. Definisi ini

Dokumen terkait