Segmentasi Citra : Deteksi Tepi Menggunakan Operator Roberts
Table of Contents
Operator Roberts, diperkenalkan pertama kali pada tahun 1965, terdiri atas dua filter berukuran 2x2. Ukuran filter yang kecil membuat komputasi berjalan sangat cepat. Namun, kelebihannya yang cepat membuat proses deteksi mudah terpengaruh oleh derau, Selain itu, kelemahan lainnya adalah operator ini memberikan tanggapan yang lemah terhadap tepi, kecuali jika tepi citra sangat tajam (Fisher, dkk, 2003)
Bentuk operator roberts ditunjukkan oleh gambar diatas, Misalkan f adalah citra yang akan dikenai operator roberts, maka nilai operator roberts pada (y,x) didefinisikan sebagai :
Dalam hal ini, z1 = f(y, x), z2 = f(y, x+1), z3 = f(y+1, x), dan z4 = f(y+1, x+1).
Fungsi roberts berikut menggunakan bahasa pemrograman Matlab yang berguna untuk memperoleh tepi pada citra berskala keabuan.
function [G] = roberts(F) % Pemerolehan tepi objek pada citra F % melalui operator Roberts % Hasil: citra G [m, n] = size(F); F=double(F); for y=1 : m-1 for x=1 : n-1 G(y, x) = sqrt((F(y,x)-F(y+1,x+1))^2 + ... (F(y+1,x)-F(y,x+1))^2) ; end end G = uint8(G);
Simpan source code diatas dengan nama roberts.m. Setelah mengetahui teori dan implementasinya pada Matlab, sekarang kita mencoba untuk menjalankannya dengan uji coba menggunakan satu citra berskala keabuan.
Input Citra
Lantas, kita panggil fungsi roberts untuk diimplementasikan pada citraGray. dengan cara :
tepiRoberts = roberts(citraGray)
imshoe(tepiRoberts)
Oleh
Post a Comment