Citra Biner Operasi Morfologi

2.5 Citra Threshold

Citra Threshold Dilakukan dengan mempertegas citra dengan cara mengubah citra hasil yang memiliki derajat keabuan 256 8bit, menjadi hanya dua buah yaitu hitam dan putih. Hal yang perlu diperhatikan pada Proses Thresholding adalah memilih sebuah nilai threshold dimana piksel yang bernilai dibawah nilai threshold akan diset menjadi hitam dan piksel yang bernilai diatas nilai threshold akan diset menjadi putih. Misalkan ditetapkan suatu nilai batas ambang, sebesar 128 dimana elemen- elemen piksel pada citra batas nilainya lebih kecil dari pada nilai batas tersebut ‘menyala’, dan elemen-elemen lainnya dianggap ‘dimatikan’, dan keduanya diubah nilainya sesuai statusnya. Jika X 128 maka X = 0 Jika tidak, maka X = 255 Warna = RGBX, X, X [S, Riyanto dkk. 2005. Step by Step Pengolahan Citra Digital. Yogyakarta: Andi. Hal 24].

2.6 Citra Biner

Citra biner adalah citra dimana piksel-pikselnya hanya memiliki dua buah nilai intensitas, biasanya bernilai 0 dan 1 dimana 0 menyatakan warna latar belakang background dan menyatakan warna tintaobjek foreground atau dalam bentuk angka 0 untuk warna hitam dan angka 255 untuk warna putih. Citra biner diperoleh dari nilai citra Threshold sebelumnya yakni: Jika Citra RGB0, 0, 0 maka X=1, Jika tidak maka X=0 [Basuki, A. 2005. Pengolahan Citra Digital menggunakan VB. Yogyakarta: Graha Ilmu. Hal 33]. Universitas Sumatera Utara

2.7 Operasi Morfologi

Berdasarkan etimologi bahasa, Morphologi berasal dari kosakata bahasa Jerman yaitu morphologie yang terdiri dari morph+logielogy. Morph adalah suatu kerja yang berupa singkatan dari metamorphose yang artinya perubahan bentuk atau karakter akibat perubahan pada struktur atau komposisi transformasi. Sesuai dengan arti dasarnya, konsep Morphological Operation pada pengolahan citra adalah operasi- operasi perubahan bentuk pada binary image. Berbagai jenis Morphological Operation antara lain: Erosion, dilation, opening, closing, thinning, dan thickness. Saat ini yang dibahas adalah thinning. [Sitorus, S dkk. 2006. Pengolahan Citra Digital. Medan:USU Press. Hal 115].

2.7.1 Algoritma Thinning

Thinning merupakan salah satu image processing yang digunakan untuk mengurangi ukuran dari suatu image image size dengan tetap mempertahankan informasi dan karakteristik penting dari image tersebut. Hal ini diimplementasikan dengan mengubah image awal dengan pola binary menjadi representasi kerangka skeletal representation image tersebut. Terdapat cukup banyak algoritma untuk image thinning dengan tingkat kompleksitas, efisiensi dan akurasi yang berbeda-beda. Citra yang digunakan untuk proses thinning adalah citra biner, jika data masukannya berupa citra RGB maka haruslah citra tersebut dimanipulasi menjadi citra grayscale, citra grayscale merupakan syarat guna menghasilkan suatu citra biner. Namun untuk mengubah citra grayscale menjadi citra biner dilakukan proses thresholding dahulu. Sehingga diperoleh citra threshold, jika citra threshold sudah diperoleh maka citra biner dapat dicari. Citra biner ini yang kemudian akan diproses dalam proses thinning. Citra hasil dari algoritma thinning biasanya disebut dengan skeletonkerangka. Universitas Sumatera Utara Umumnya suatu algoritma thinning yang dilakukan terhadap citra biner seharusnya memenuhi kriteria-kriteria sebagai berikut: 1. Skeleton dari citra kira-kira berada di bagian tengah dari citra awal sebelum dilakukan thinning. 2. Citra hasil dari algoritma thinning harus tetap menjaga struktur keterhubungan yang sama dengan citra awal. 3. Suatu skeleton seharusnya memiliki bentuk yang hampir mirip dengan citra awal. 4. Suatu skeleton seharusnya mengandung jumlah piksel yang seminimal mungkin namun tetap memenuhi kriteria-kriteria sebelumnya. Berikut adalah hasil dari operasi Thinning dari citra binari yang sederhana. a b Gambar 2.2 a Pola awal b Pola hasil Thinning. Sebagian besar algoritma thinning merupakan algoritma yang besifat iteratif. Dalam sebuah penelusuran piksel sisi diperiksa berdasarkan beberapa kriteria untuk menentukan apakah suatu piksel sisi dihapus atau tidak. Banyaknya jumlah penelusuran yang terjadi dihitung berdasarkan jumlah loop perulangan yang terjadi. Ada beberapa jenis algoritma thinning yaitu sequential dan parallel. Jenis sequential menggunakan hasil dari penelusuran sebelumnya dan hasil yang didapatkan sejauh ini dalam penelusuran yang sekarang untuk memproses piksel yang sekarang. Jadi pada Universitas Sumatera Utara setiap ujung penelusuran sejumlah piksel telah diproses terlebih dahulu. Hasil ini dapat digunakan secepatnya untuk memproses piksel selanjutnya. Sedangkan jenis parallel, hanya hasil dari penelusuran sebelumnya yang mempengaruhi keputusan untuk menghapus suatu titik pada penelusuran yang sekarang. Definisi yang dipakai dalam operasi morfologi: 1. Titik obyek, adalah titik yang merupakan bagian dari obyek P1= obyek. 2. Titik latar, adalah titik yang merupakan bagian dari latar P1= latar. 3. NP1 = banyaknya tetangga dari P1 yang merupakan titik obyek. 4. SP1 = banyaknya pola “latar, obyek” untuk urutan P2-P4-P6-P8-P2 pada operasi terhubung -4 atau urutan P2- P3- P4- P5- P6- P7- P8- P9- P2 pada operasi terhubung-8. 5. SP2 = banyaknya pola “latar, obyek” untuk urutan P2-P4-P6-P8-P2 pada operasi terhubung -4 atau urutan PX- PY- P3- P4- P1- P8- P9- PX- PY pada operasi terhubung-8. Untuk P1= P2. 6. SP3 = banyaknya pola “latar, obyek” untuk urutan P3-P C -P5-P1-P3 pada operasi terhubung -4 atau urutan P3-PB-PC-PD-P5-P6-P1-P2-P3 pada operasi terhubung-8. Untuk P1= P4. 7. Titik terisolasi, adalah titik obyek yang semua tetangganya adalah titik latar. NP1 = 0. 8. Titik ujung, adalah titik obyek yang mempunyai tepat sebuah tetangga yang merupakan titik obyek juga. NP1 = 1. 9. Titik batas, adalah titik obyek yang salah satu atau lebih tetangganya adalah titik latar. NP1 4 pada operasi terhubung-4 dan NP1 8 pada operasi terhubung-8. 10. Apabila semua titik tetangganya adalah titik obyek maka dapat dipastikan titik tersebut berada di dalam obyek bukan titik batas. 11. Titik simpel, adalah titik obyek yang jika diubah menjadi titik latar maka tidak mengubah kondisi hubungan antar titik-titik obyek tetangganya. [ H.E.Burdick, dan Mc Graw Hill. 1997. Morphological Operations. Http:ppsc.pme.nthu.edu.tw...Chapter20920Morphological20operations.pdf. Diakses tanggal 7 Januari 2010]. Universitas Sumatera Utara

2.7.1.1 Algoritma ZhangSuen

Algoritma ini adalah algoritma untuk citra biner, dimana piksel background citra bernilai 0, dan piksel foreground region bernilai 1. Algoritma ini cocok digunakan untuk bentuk yang diperpanjang elongated dan dalam aplikasi OCR Optical Character Recognition. Algoritma ini terdiri dari beberapa penelusuran, dimana setiap penelusurannya terdiri dari 2 langkah dasar yang diaplikasikan terhadap titik objek titik batas region. Titik objek ini dapat didefinisikan sebagai sembarang titik yang pikselnya bernilai 1, dan memiliki paling sedikit 1 piksel dari 8-tetangganya yang bernilai 0. Gambar berikut ini mengilustrasikan titik objek P1 dan 8-tetangganya: P9 P2 P3 P8 P1 P4 P7 P6 P5 Gambar 2.3 Contoh Piksel P1 dengan 8 tetangga Langkah pertama dari sebuah penelusuran adalah menandai semua titik objek untuk dihapus, jika titik objek tersebut memenuhi syarat-syarat berikut: a. 2 ≤ N P1 ≤ 6 b. SP1 = 1 c. P2 P4 P6 = 0 d. P4 P6 P8 = 0 Keterangan : 1. jumlah dari tetangga titik objek P1 , yang pikselnya bernilai 1, yaitu: NP1 = P2 + P3 + P4 + ... + P9 2. SP1 adalah jumlah perpindahan nilai dari 0 nol ke 1 satu mulai dari P2, P3,… P8, P9. 3. P2 P4 P6 = 0, memiliki arti P2 atau P4 atau P6 bernilai 0 nol. Universitas Sumatera Utara Dan pada langkah kedua, kondisi a dan b sama dengan langkah pertama, sedangkan kondisi c dan d diubah menjadi: c’ P2 P4 P8 = 0; d’ P2 P6 P8 = 0 Langkah pertama dilakukan terhadap semua titik obyek di citra. Jika salah satu dari keempat kondisi di atas tidak dipenuhi atau dilanggar maka nilai piksel yang bersangkutan tidak ditandai untuk dihapus. Sebaliknya jika semua kondisi tersebut dipenuhi maka piksel tersebut ditandai untuk penghapusan. Piksel yang telah ditandai tidak akan dihapus sebelum semua titik obyek selesai diproses. Hal ini berguna untuk mencegah perubahan struktur data. Setelah langkah 1 selesai dilakukan untuk semua titik obyek maka dilakukan penghapusan untuk titik yang telah ditandai diubah menjadi 0. Setelah itu dilakukan langkah 2 pada data hasil dari langkah 1 dengan cara yang sama dengan langkah 1. Prosedur ini dilakukan secara iteratif sampai tidak ada lagi titik yang dapat dihapus, pada saat algoritma ini selesai maka akan dihasilkan skeleton dari citra awal. Sebagai contoh : 1 1 P1 1 1 Gambar 2.4 Contoh piksel NP1 = 4 dan SP1 = 3 [Jason Rupard. Skeletonization part 1. www.rupj.netportfoliodocsskeletonization.pdf. Diakses tanggal 7 Januari 2010]. Universitas Sumatera Utara

2.7.1.2 Algoritma Stentiford

Metode ini adalah algoritma thinning dengan menggunakan teknik template-based mark-and-delete. Metode ini cukup terkenal karena reliable dan kefektifannya. Metode thinning jenis ini menggunakan template untuk dicocokkan dengan citra yang akan di-thinning. Algoritma ini bersifat iteratif yang berguna untuk mengikis lapisan piksel terluar sampai tidak ada lapisan lagi yang dapat dihilangkan. Didalam algoritma ini terdiri dari empat kondisi. Template yang dipakai adalah 4 buah template 3 x 3 yaitu, Gambar 2.5 Template Stentiford. Berikut ini akan dijelaskan langkah–langkah algoritma Stentiford : 1. Cari piksel pada lokasi i,j dimana piksel-piksel pada image cocok dengan template T1. Dengan template ini, maka semua piksel di bagian atas dari image akan dihilangkan remove. Pencocokkan template ini bergerak dari kiri ke kanan dan dari atas ke bawah. 2. Bila piksel tengah bukan merupakan endpoint dan mempunyai jumlah konektivitas connectivity number 1, maka tandai piksel tersebut untuk kemudian dihilangkan remove. Endpoint piksel : piksel yang merupakan batas akhir dan hanya terhubung dengan 1 piksel saja. Contoh : suatu piksel hitam hanya mempunyai satu tetangga saja yang hitam juga dari kemungkinan delapan tetangga. Connectivity number : merupakan suatu ukuran berapa banyak obyek yang terhubung dengan piksel tertentu dihitung berdasarkan rumus di bawah. . . 2 1 + + ∈ − = ∑ k k k S k k n N N N N C Universitas Sumatera Utara N k merupakan nilai dari 8 tetangga di sekitar piksel yang akan dianalisa Titik obyek dan nilai S = {1,3,5,7}. N adalah nilai dari piksel tengah Titik obyek. N 1 adalah nilai dari piksel pada sebelah kanan titik obyek dan sisanya diberi nomor berurutan dengan arah berlawanan jarum jam. 4 3 2 5 1 6 7 8 Gambar 2.6 Urutan nilai dari piksel algoritma Stentiford Contoh : 1 1 1 1 1 1 1 1 1 c a b d 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 e Gambar 2.7 Contoh tampilan jumlah konektivitas Bagian a menjelaskan tentang jumlah konektivitas connectivity number = 0. Bagian b menjelaskan tentang jumlah konektivitas connectivity number = 1. Bagian c menjelaskan tentang jumlah konektivitas connectivity number = 2. Bagian d menjelaskan tentang jumlah konektivitas connectivity number = 3. Bagian e menjelaskan tentang jumlah konektivitas connectivity number = 4. 3. Ulangi langkah 1 dan 2 untuk semua piksel yang cocok dengan template T1. 4. Ulangi langkah 1–3 untuk template T2, T3 dan T4. Pencocokkan template T2 akan dilakukan pada sisi kiri dari obyek dengan arah dari bawah ke atas dan dari kiri ke kanan. Pencocokkan template T3 akan dilakukan pada sisi bawah dari obyek dengan arah dari kanan ke kiri dan dari bawah ke atas. Universitas Sumatera Utara Pencocokkan template T4 akan dilakukan pada sisi kanan dari obyek dengan arah dari atas ke bawah dan dari kanan ke kiri. 5. Piksel-piksel yang ditandai untuk dihilangkan remove dibuat sama dengan background di-set 0 untuk binary image. [Jason Rupard. Skeletonization part 1. www.rupj.netportfoliodocsskeletonization.pdf. Diakses tanggal 7 Januari 2010].

2.7.1.3 Algoritma Hilditch

Algoritma Hilditch dengan ukuran jendela window 3 x 3, yakni menggunakan tetangga Moore dari titik yang kita tinjau. Pada algoritma yang merupakan operasi terhubung-8 ini dilakukan beberapa kali penelusuran pengikisan pada suatu obyek, di mana pada setiap pengikisan dilakukan pemeriksaan pada semua titik dalam citra dan melakukan. Pengubahan sebuah titik obyek menjadi titik latar apabila memenuhi keempat kriteria berikut ini: 1. 2 ≤ NP1 ≤ 6 2. SP1 =1 3. P2, P4, atau P8 ada yang merupakan titik latar, atau SP2 ≠ 1 4. P2, P4, atau P6 ada yang merupakan titik latar, atau SP4 ≠ 1 Algoritma dihentikan apabila pada suatu penelusuran tidak ada lagi titik yang diubah. a Kriteria 1 1. Menunjukkan bahwa tidak ada titik terisolasi, NP1 = 0, ataupun titik ujung, NP1 = 1, yang terkikis, sebagaimana ditunjukkan pada Gambar dibawah ini. 2. Demikian juga titik yang ada di dalam obyek seperti pada d, sedangkan titik pada c juga tidak boleh dihilangkan untuk mencegah pengecilan kerangka. Universitas Sumatera Utara P9 P2 P3 P9 P2 P3 P9 P2 P3 P9 P2 P3 P8 P1 P4 P8 P1 P4 P8 P1 P4 P8 P1 P4 P7 P6 P5 P7 P6 P5 P7 P6 P5 P7 P6 P5 a NP1=0 b NP1=1 c NP1=7 d NP1=8 Gambar 2.8 Contoh titik yang tidak memenuhi kriteria 1 algoritma Hilditch b Kriteria 2 1. Menunjukkan sifat konektivitas, di mana jika kita menghilangkan suatu titik mempunyai nilai A lebih dari 1, seperti pada Gambar dibawah ini, maka pola atau kerangka akan menjadi terputus. 2. Dengan demikian titik P1 pada contoh-contoh tersebut tidak boleh dihapus. P9 P2 P3 P9 P2 P3 P9 P2 P3 P8 P1 P4 P8 P1 P4 P8 P1 P4 P7 P6 P5 P7 P6 P5 P7 P6 P5 a SP1=2 b SP1=2 c SP1=4 Gambar 2.9 Contoh titik yang tidak memenuhi kriteria 2 algoritma Hilditch. c Kriteria 3 1. Digunakan untuk menghindarkan terhapusnya garis horizontal dengan lebar 2 titik, seperti pada Gambar dibawah ini. 2. Dalam gambar tersebut, titik obyek pada a tidak memenuhi kriteria 3 sehingga tidak boleh dihapus, sedangkan titik P1 pada b dan c memenuhi kriteria, sehingga mungkin akan dihapus. Universitas Sumatera Utara P9 P2 P3 P9 P2 P3 P9 P2 P3 P8 P1 P4 P8 P1 P4 P8 P1 P4 P7 P6 P5 P7 P6 P5 P7 P6 P5 a garis vertikal b P2, P4, P8 ≠latar c P2, P4, atau P8 =latar berlebar 2 titik SP2 ≠1 SP2=1 Gambar 2.10 Contoh titik kriteria 3 algoritma Hilditch. d Kriteria 4 1. Mirip dengan kriteria 3, namun digunakan untuk menghindarkan terhapusnya garis vertikal berlebar 2 titik. 2. Titik P1 pada a tidak memenuhi kriteria tersebut sehingga tidak boleh dihapus, sedangkan pada b dan d memenuhi syarat, sehingga mungkin dapat dihapus. P9 P2 P3 P9 P2 P3 P9 P2 P3 P8 P1 P4 P8 P1 P4 P8 P1 P4 P7 P6 P5 P7 P6 P5 P7 P6 P5 a garis vertikal b P2, P4, P6 ≠ latar c P2, P4, atau P6 =latar berlebar 2 titik SP4 ≠1 SP4=1 Gambar 2.11 Contoh titik pada kriteria 4 algoritma Hilditch [ H.E.Burdick, dan Mc Graw Hill. 1997. Morphological Operations. Http:ppsc.pme.nthu.edu.tw...Chapter20920Morphological20operations.pdf. Diakses tanggal 7 Januari 2010]. Universitas Sumatera Utara

2.7.1.4 Algoritma Rosenfeld

Algoritma yang dijelaskan di sini adalah algoritma paralel sederhana karena karya algoritma Rosenfeld. Algoritma ini membuang berturut-turut dalam model paralel himpunan bagian dari batas dari P. Terlebih dahulu tetapkan batas. Biarkan P jadi, himpunan hitam 1 piksel. Komplemen dari P adalah latar belakang seperti piksel adalah putih 0. Perhatikan sebuah piksel P1 dari P. Label dari 8 tetangga dari P1 seperti yang ditunjukkan di bawah ini: P9 P2 P3 P8 P1 P4 P7 P6 P5 Gambar 2.12 Contoh label 8 tetangga dari P1 P1 adalah titik perbatasan Utara jika P2 = 0. P9 P2 P3 P8 P1 P4 P7 P6 P5 Gambar 2.13 Contoh piksel P1 sebagai titik batas utara P1 adalah titik perbatasan timur jika P4 = 0. P9 P2 P3 P8 P1 P4 P7 P6 P5 Gambar 2.14 Contoh piksel P1 sebagai titik batas timur P1 adalah titik perbatasan barat jika P8 = 0. Universitas Sumatera Utara P9 P2 P3 P8 P1 P4 P7 P6 P5 Gambar 2.15 Contoh piksel P1 sebagai titik batas barat P1 adalah titik perbatasan selatan jika P6 = 0. P9 P2 P3 P8 P1 P4 P7 P6 P5 Gambar 2.16 Contoh piksel P1 sebagai titik batas selatan P1 adalah 4-titik endpoint dengan syarat bahwa tepat satu dari 4-tetangga adalah hitam. P9 P2 P3 P9 P2 P3 P8 P1 P4 P8 P1 P4 P7 P6 P5 P7 P6 P5 Gambar 2.17 Dua contoh di mana P1 adalah 4-endpoint P1 adalah sebuah 8-titik endpoint dengan syarat bahwa tepat satu dari 8 tetangganya adalah hitam. P9 P2 P3 P9 P2 P3 P8 P1 P4 P8 P1 P4 P7 P6 P5 P7 P6 P5 Gambar 2.18 Dua contoh di mana P1 adalah sebuah 8-endpoint P1 adalah 4-titik terisolasi jika tidak ada satupun dari 4-tetangga adalah hitam. Universitas Sumatera Utara P9 P2 P3 P9 P2 P3 P8 P1 P4 P8 P1 P4 P7 P6 P5 P7 P6 P5 Gambar 2.19 Dua contoh di mana P1 adalah 4-titik terisolasi P1 adalah sebuah 8-titik terisolasi jika tidak ada satupun dari 8-tetangganya adalah hitam. P9 P2 P3 P8 P1 P4 P7 P6 P5 Gambar 2.20 Contoh piksel P1 adalah sebuah 8-titik terisolasi Sebuah titik perbatasan P1 adalah sebuah 4-simple jika berubah dari hitam menjadi putih satu nol tidak mengubah 4-konektivitas dari sisa piksel hitam dalam tetangga Moore dari P1. Di sini ada dua contoh yang tidak 4-simple: P9 P2 P3 P9 P2 P3 P8 P1 P4 P8 P1 P4 P7 P6 P5 P7 P6 P5 Gambar 2.21 Dua contoh di mana P1 bukanlah 4-simple point Sebuah titik perbatasan P1 adalah sebuah 8-simple jika berubah dari hitam menjadi putih satu nol tidak mengubah 8-konektivitas dari sisa piksel hitam dalam lingkungan Moore P1. Berikut adalah dua contoh yang tidak 8-simple: Universitas Sumatera Utara P9 P2 P3 P9 P2 P3 P8 P1 P4 P8 P1 P4 P7 P6 P5 P7 P6 P5 Gambar 2.22 Dua contoh di mana P1 bukan merupakan 8-simple point Sekarang siap untuk menggambarkan algoritma yang dapat dilihat dalam dua mode yang berbeda tergantung pada jenis konektivitas used. Algoritma ini berada di bagian berurutan dan dalam bagian paralel. Algoritma 4-TERSAMBUNG Mulai ulangi sampai tidak ada piksel yang berubah dari hitam menjadi putih: langkah 1: secara paralel Ubah semua piksel hitam menjadi putih jika mereka border utara titik yang 4-Simple tetapi tidak 4-terisolasi atau 4-endpoint. langkah 2: secara paralel Ubah semua piksel hitam menjadi putih jika mereka border selatan titik yang 4-Simple tetapi tidak 4-terisolasi atau 4-endpoint. langkah 3: secara paralel Ubah semua piksel hitam menjadi putih jika mereka border timur titik yang 4-Simple tetapi tidak 4-terisolasi atau 4-endpoint. langkah 4: secara paralel Ubah semua piksel hitam menjadi putih jika mereka barat yang border poin 4-Simpletetapi tidak 4-terisolasi atau 4-endpoint. ulangi akhir akhir . Algoritma 8-TERSAMBUNG Mulai ulangi sampai tidak ada piksel yang berubah dari hitam menjadi putih: langkah 1: secara paralel Ubah semua piksel hitam menjadi putih jika mereka border utara titik yang 8-Simple tetapi tidak 8-terisolasi atau 8-endpoint. langkah 2: secara paralel Ubah semua piksel hitam menjadi putih jika mereka border selatan titik yang 8-Simple tetapi tidak 8-terisolasi atau 8-endpoint. langkah 3: secara paralel Ubah semua piksel hitam menjadi putih jika mereka border timur titik yang 8-Simple tetapi tidak 8-terisolasi atau 8-endpoint. Universitas Sumatera Utara langkah 4: secara paralel Ubah semua piksel hitam menjadi putih jika mereka border barat titik yang 8-Simple tetapi tidak 8-terisolasi atau 8-endpoint. ulangi akhir. Akhir Urutan bagian dari algoritma paralel, yaitu utara, selatan, timur, barat urutan untuk memeriksa titik-titik perbatasan yang sewenang-wenang, tetapi harus juga membantu keterhubungan piksel. Dengan cara ini untuk memperoleh kerangka yang berpusat di asli pola. Sebuah sifat penting dari algoritma ini adalah bahwa ia melindungi konektivitas dari pola input. [Tingmei Wang. “Analysis and Application of IterationSkeletonization Algorithm in Recognizing Chinese Characters Image”. http: www.academypublisher.comprociscsct09papersiscsct09P281.pdf . diakses tanggal 7 Januari 2010].

2.8 Flowchart