DSPRelated.com
Forums

Difference of Gaussian

Started by Unknown April 25, 2006
Hi all,
  I've to implement(C++) and compare some object recognition schemes(
like SIFT, G-RIF etc based on local feature extraction), and I come
across the term "difference of gaussians" or "DoG" for images, which
supposedly extract radially symmetric features from the image. My
question is:
 -- how exactly is this "DoG" calculated over an image?
   Also, if anyone is familiar, is there an easy way to do it in
OpenCV.  Is it something to do with gaussian blur, at various scales of
image? I looked online, there are some books explaining how to
calculate,  but no online description. All I get is mathematics behind
it, which is not really helping me to implement it in my program. What
I need to know/understand is what operation to be done on image pixels
to get the DoG.

Any help would be appreciated,

Cheers,
Mukul.

http://en.wikipedia.org/wiki/Difference_of_Gaussians

m.dhankhar@gmail.com wrote:
> Hi all, > I've to implement(C++) and compare some object recognition schemes( > like SIFT, G-RIF etc based on local feature extraction), and I come > across the term "difference of gaussians" or "DoG" for images, which > supposedly extract radially symmetric features from the image. My > question is: > -- how exactly is this "DoG" calculated over an image?
You can convolve with the function in the wikipedia link I gave you. Or, because convolution is a linear operator, you can simply just gaussian blur (i.e. convolve with the gaussian) with two different sigmas (i.e. "blurrness") and substract the results to obtain DoG. -- Jani Huhtanen Tampere University of Technology, Pori
Thanks a lot. Blurring with different sigmas and subtracting
subsequently is straight forward to implement in OpenCV :-)

Cheers,
Mukul.