I use the following formula for DoG:

$$\frac{1}{\sigma} (\frac{x^2}{2\sigma^2}-1.0) e^{\frac{-x^2}{2\sigma^2}}$$

What is the relationship between this formula and the difference of two Gaussian functions?

Can someone show me how to apply DoG on a 1D signal in MATLAB? My input can be considered as a 1D real-valued function, and I applied the above formula to detect blobs. The results make sense except that I don't know why I get many local minima in a relatively flat region (i.e., function values at points in the region almost stay constant). Since I don't have enough signal processing/image processing background, I want to see what a constant signal look like after being convolved with a DoG filter.

  • 2
    $\begingroup$ I suggest you to look for "difference-of-gaussians" in Google IMAGES. The graphical representation of these abstract concepts sometimes can be very enlightening, specially regarding detection and other signal processing applications related to "the real world" (instead of pure mathematical formulas). $\endgroup$ – heltonbiker Nov 24 '12 at 16:05
  • $\begingroup$ Let me try to answer my first question. DoG is known to be an approximation of Laplacian of Gaussian(LoG). The formula is very close to the second-order derivative of a Gaussian function. Still hope someone who can share some matlab code which would allow me to play with convolution with DoG. $\endgroup$ – user11869 Nov 24 '12 at 20:57
  • 1
    $\begingroup$ @user11869 Welcome to dsp.SE ! You are allowed to edit you own questions, so, as a general rule you'll want to add all additional information about the problem as well as all the major explanations in to your question, instead of leaving them in the comments -- like you did (any new information / things you try should also be added that arise through your own research while waiting for an answer). Comments are usually for short explanations and remarks. In any case, have fun here :) $\endgroup$ – penelope Nov 26 '12 at 15:01
  • $\begingroup$ The formula in your question is LoG, not DoG, right? $\endgroup$ – Niki Estner Jan 9 '14 at 7:26

The difference of gaussian (DOG) is the convolution of input image by difference of two gaussians usually with different standard devitations($\sigma$). The basic idea behind this is to capture edges or gradients in the images that are simplified by the gaussian with larger $\sigma$ but preserved by the smaller gaussian. This is form of scale space derivative, which basically analyses different frequency components in the image, by changing the $\sigma$s of gaussians. Thus, its like a band-pass filter that rejects certain frequencies in the input.

If we consider an constant image with its value centered around the means of the gaussians, the result of the DOG would be a zero - indicating no gradient.Try this out for a basic tutorial.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.