Segmentasi Citra: Deteksi Tepi Menggunakan Operator Laplacian of Gaussian (LoG)
Table of Contents
Laplacian of Gaussian (LoG) adalah operator deteksi tepi orde kedua yang boleh dikata sukses untuk mengurangi tingkat sensitif terhadap derau. Hal ini dissebabkan penggunaan fungsi Gaussian yang memuluskan citra dan berdampak pada pengurangan derau pada citra. Akibatnya, operator mereduksi jumlah tepi yang salah terdeteksi (Crane, 1997). Menurut Fisher, dkk (2003) operator LoG diperoleh melalui konvolusi dengan :
Fungsi di atas disebut sebagai filter topi Meksiko (the Mexican hat filter) karena bentuknya seperti topi yang biasa dikenakan orang Meksiko (lihat Gambar 1). Dalam hal ini, semakin besar nilai deviasi, semakin besar pula cadar yang diperlukan. Contoh cadar berukuran 5 x 5 yang mewakili operator LoG ditunjukkan pada Gambar 2 (Gonzalez & Woods, 2002).
Gambar 1 : Fungsi LoG(y,x) berdasarkan Fisher, dkk (2003) |
Gambar 2 : Contoh operator LoG |
function[G] = deteksi(F,H,potong,pembulatan) %deteksi melalukan operasi korelasi kernel H dengan citra F %H harus mempunyai tinggi dan lebar ganjil %Argumen potong bersifat opsional. Apabila bernilai true bagian citra yang %tidak diproses akan dipotong, bawaan = false %Argumen pembulatan bersifat opsional. Apabila bernilai true, pembulatan %dengan uint8 tidak dilakukan, Bawaan = false %Hasil = citra G if nargin < 3 potong = false ; end if nargin < 4 pembulatan = true ; end [tinggi_f,lebar_f]=size(F); [tinggi_h,lebar_h]=size(H); if rem(lebar_h,2)==0 || rem(tinggi_h,2)==0 disp('Lebar dan tinggi H harus ganjil'); return ; end m2=floor(tinggi_h/2); n2=floor(lebar_h/2); %menentukan ukuran hasil beserta penentu ofset koordinat if potong==true sisi_m2=m2; sisi_n2=n2; G = zeros(tinggi_f-2*m2,lebar_f-2*n2); else sisi_m2=0; sisi_n2=0; G = zeros(size(F)); end F2=double(F); for y=m2+1 : tinggi_f-m2 for x=n2+1 : lebar_f-n2 % pelaksanaan korelasi F(baris,kolom) jum=0 ; for p =-m2 : m2 for q=-n2 : n2 jum=jum+H(p+m2+1,q+n2+1)*... F2(y+p,x+q); end end G(y-sisi_m2,x-sisi_n2)=jum; end end if pembulatan == true G=uint8(G); end
Penggunaan deteksi tepi menggunakan operator LoG disesuaikan dengan cadar 5x5 diatas, caranya dengan :
hasil deteksi tepi pada citra kucing adalah :
hasil deteksi tepi pada citra kucing adalah :
Sekian, semoga mamberikan manfaat bagi teman-teman...
Salam
Sumber : Buku Teori dan Aplikasi Pengolahan Citra karya Abdul Kadir dan Adhi Susanto
Post a Comment