0

I have a grayscale image in which there are edges that follow the right half of a Gaussian curve i.e. the intensity decreases from a local maximum to a local minimum following the Gaussian curve over a range of pixels. The mean is 0 and standard deviation is 1. I am looking for a method to find this region automatically in the image where such distribution exists. Then if such a distribution is found, I mark half way of this Gaussian (right part of the curve) as the edge.

Do I need to make a filter for this? How to select the values then?

Umair
  • 111
  • 1
  • 10
  • Have you tried using some any Image processing libraries like `Emgucv`,`opencv`,`Matlab` etc? – Shiva Jun 02 '14 at 08:30
  • Yes I did use Matlab and opencv. In these libraries, Gaussian filter is used to smooth the image which in turn means blur the edges (because Gaussian filter is low pass). What I want is different. Just like the sobel filter consists of a kernel matrix, which when applied to the image tells the presence of edges, I want to use a gaussian kernel to find edges. – Umair Jun 02 '14 at 09:43

1 Answers1

2

Have you heared of the Difference of Gaussians? Since the Gauss kernel will filter the edges away, substracting a filtered image from the original one will leave only the edges behind. It's so effective even SIFT uses it for keypoint/edge detection.

McMa
  • 1,568
  • 7
  • 22