Implementasi Deteksi Tepi Operator Sobel

38

BAB IV IMPLEMENTASI

Pada bab ini berisi mengenai implementasi deteksi tepi menggunakan operator sobel pada citra aksara jawa yang kemudian digunakan untuk membantu proses segmentasi. Implementasi proses-proses dalam diagram aliran data dalam tahap perancangan sistem dinyatakan dengan menggunakan bahasa pemrograman MATLAB versi 7.8.0.347 R2009a.

A. Implementasi Program

Implementasi program dalam tugas akhir ini, direpresentasikan dalam bahasa pemrograman MATLAB.

1. Implementasi Deteksi Tepi Operator Sobel

Berikut ini, deteksi tepi dengan operator sobel yang dituliskan dalam bahasa pemrograman MATLAB : function citrahasil = deteksiTepicitra citra_bw = im2bwcitra; [N,M] = sizecitra_bw; Sx= [ -1 0 1 -2 0 2 -1 0 1 ]; Sy= [ 1 2 1 0 0 0 -1 -2 -1 ]; konvolusiX=zerossizecitra_bw; konvolusiY=zerossizecitra_bw; tinggi = 2; while tinggi = N-1 lebar = 2; while lebar = M-1 konvolusiXtinggi,lebar = Sx1,1 citra_bwtinggi-1,lebar-1 + Sx2,1 citra_bwtinggi,lebar-1 + Sx3,1 citra_bwtinggi+1,lebar-1 + Sx1,2 citra_bwtinggi-1,lebar + Sx2,2 citra_bwtinggi, lebar + Sx3,2 citra_bwtinggi+1,lebar + Sx1,3 citra_bwtinggi-1,lebar+1 + Sx2,3 citra_bwtinggi, lebar+1 + Sx3,3 citra_bwtinggi+1,lebar+1 ; konvolusiYtinggi, lebar = Sy1,1 citra_bwtinggi-1,lebar-1 + Sy1,2 citra_bwtinggi-1,lebar + Sy1,3 citra_bwtinggi-1,lebar+1 + Sy2,1 citra_bwtinggi,lebar-1 + Sy2,2 citra_bwtinggi,lebar + Sy2,3 citra_bwtinggi,lebar+1 + Sy3,1 citra_bwtinggi+1,lebar-1 + Sy3,2 citra_bwtinggi+1,lebar + Sy3,3 citra_bwtinggi+1,lebar+1 ; lebar = lebar + 1; end tinggi = tinggi + 1; end citrakonvolusi = abskonvolusiX + abskonvolusiY; citrahasil = bwmorphcitrakonvolusi, thin ,Inf; Sintak di atas merupakan sintak untuk deteksi tepi dengan operator sobel. Mula-mula dilakukan proses baca citra yang akan digunakan sebagai masukan untuk proses deteksi tepi. Fungsi im2bw digunakan untuk mengubah citra masukan menjadi citra biner. Kemudian mencari ukuran matriks citra [N,M], N untuk tinggi, dan M untuk lebar. Selanjutnya mendeklarasikan kernel Sobel. Sx untuk konvolusi arah horisontal, dan Sy untuk konvolusi arah vertikal, serta membuat matriks zero untuk menampung masing-masing nilai konvolusi dengan dimensi yang sesuai dengan lebar dan tinggi citra. Setelah itu lakukan konvolusi citra terhadap masing-masing mask sobel. Untuk letak masing-masing piksel pada citra tersebut, dengan menggunakan jendela 3x3 yang terdiri dari 8 titik tetangga, yang dimulai dengan tinggi = 2 dan lebar = 2. Variabel konvolusiX digunakan untuk menampung hasil konvolusi dengan Sx, sedangkan variabel konvolusiY digunakan untuk menampung hasil konvolusi dengan Sy. Setelah dilakukan konvolusi terhadap masing-masing mask sobel, lakukan penjumlahan absolut keduanya. Variabel citrakonvolusi menyimpan hasil penjumlahan absolut antara konvolusiX dan konvolusiY. Kemudian dilakukan proses thinning. Variabel citrahasil merupakan hasil akhir citra yang sudah mengalami proses deteksi tepi dengan thinning. Proses thinning tersebut dengan menggunakan fungsi matlab, yaitu dengan fungsi bwmorph.

2. Implementasi Segmentasi