Professional Documents
Culture Documents
Difference of Gaussian (DoG) merupakan selisih antara 2 buah fungsi gaussian yang telah dikonvolusikan terlebih dahulu dengan sebuah isyarat atau citra. Hasil akhir adalah sama dengan LoG, yakni zero crossing. Dengan memanfaatkan zero crossing, kita bisa menentukan tepi dari objek pada citra. Penjelasan tentang itu telah dipaparkan dalam artikel lain. Dalam artikel ini kita akan membahas bagaimana mendapatkan rumus dari DoG. Langkahlangkahnya adalah: 1. Mirip dengan LoG, isyarat awal atau citra dikonvolusikan dengan gaussian terlebih dahulu. Nilai sigma ( ) diberikan. , = = 1 ,
dengan
2. Konvolusikan isyarat atau citra asli, lagi dengan gaussian dengan sigma ( ) yang berbeda. , = = 1 ,
dengan
Page 1
[signal processing]
Program untuk DoG satu dimensi dan dua dimensi adalah sebagai berikut:
clear all; close all; clc; c=0; %% Gaussian 1 s1=1.4; x=-3:0.1:3; G1=(1/(s1*sqrt(2*pi)))*exp(-((x-c).^2/(2*s1^2))); plot(x,G1,'r'); hold on; %% %% Gaussian 2 s2=1; x=-3:0.1:3; G2=(1/(s2*sqrt(2*pi)))*exp(-((x-c).^2/(2*s2^2))); plot(x,G2,'g'); hold on; %% %% DoG 1 dimensi DoG=G1-G2; plot(x,DoG,'b'); hold off; title('DoG 1 dimensi'); grid on; %% %% gaussian 2 dimensi [X,Y]=meshgrid(x); Gg1=(1/((s1^2)*2*pi))*exp(-(((X-c).^2+(Y-c).^2)/(2*(s1^2)))); Gg2=(1/((s2^2)*2*pi))*exp(-(((X-c).^2+(Y-c).^2)/(2*(s2^2)))); DoG2=Gg1-Gg2; figure, mesh(X,Y,DoG2); xlabel('x'); ylabel('y'); zlabel('DoG(x,y)'); title('DoG 2-D'); %%
Page 2
[signal processing]
Tampak bahwa hasilnya seperti Laplacian of Gaussian atau yang dikenal sebagai Mexican Hat. Begitu juga dengan penerapannya adalah melalui zero crossing.
@ thanks...
Page 3