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

Karena citra input masih berskala RGB, maka dirubah terlebih dahulu ke grayscale

Lantas, kita panggil fungsi roberts untuk diimplementasikan pada citraGray. dengan cara :
tepiRoberts = roberts(citraGray) 
imshoe(tepiRoberts)




Demikian, sekilas apa yang dapat saya berikan perihal Deteksi Tepi menggunakan Operator Roberts. Semoga memberikan manfaat bagi teman-teman

Oleh



Post a Comment