Is there any Difference of Gaussians function in Matlab?

Sedat KURT picture Sedat KURT · Nov 18, 2013 · Viewed 9.3k times · Source

I am new to Image Processing, and in my experiment I am having difficulty with Difference of Gaussians. Various implementation were given to me but I don't understand them and their parameters.

Here are my formulas

enter image description here

Should I implement this filtering myself, or is there an existing function defined for this? Of course with all parameters which are like in link. I will need to play with parameters and produce different images.

Answer

David Nilosek picture David Nilosek · Nov 18, 2013

You could Gaussian filter an image twice with two different std. dev. and just subtract them, would be the same as using the combined filter.

k = 10;
sigma1 =  0.5;
sigma2 = sigma1*k;

hsize = [3,3];

h1 = fspecial('gaussian', hsize, sigma1);
h2 = fspecial('gaussian', hsize, sigma2);

gauss1 = imfilter(img,h1,'replicate');
gauss2 = imfilter(img,h2,'replicate');

dogImg = gauss1 - gauss2;