MATLAB: Why Gaussian smoothing is commonly used with edge detection

digital image processing

why Gaussian smoothing is commonly used with edge detection?
what is the most suitable smoothing method for __edge detection algorithm? Is it Gaussian smoothing? If so, why?

Best Answer

It's only used if you subtract it from another image, or use it to smooth the contours prior to thresholding. If you subtract two images filtered with Gaussians, then that is like a high pass filter. This can be done in one step with conv2() - just contsruct your kernel properly. To get a good intuitive feel for why, you'll need to understand filtering theory and that means you'll need to understand Fourier transform concepts. Here are some good links for that:
Right after you hear of Gaussian filtering, you'll hear of what to do with the filtered image and that means you'll hear of concepts like Difference of Gaussians (DOG filter), Laplacian of Gaussians (LOG filter), and unsharp masking (whose unfortunate name only makes sense if you know the old photographic origins of that method).