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