hi all .I am trying to detect the edge using canny edge detection algorithm, I convert the image to gray and remove the noise and passing the sobel filter. but when I arrive to apply Non-maximum suppression, I didn't know how do it. please help me. I use vb.net 2010.

the edge of the image.
Stages of the Canny algorithm
1-A Gaussian blur is applied to clear any speckles and free the image of noise. I do the gaussian blur.
2-A gradient operator is applied for obtaining the gradients' intensity and direction. I do the gradient operator.
3-Non-maximum suppression determines if the pixel is a better candidate for an edge than its neighbours.

a-if the rounded gradient angle is zero degrees (i.e. the edge is in the north–south direction) the point will be considered to be on the edge if its gradient magnitude is greater than the magnitudes at pixels in the east and west directions,
b-if the rounded gradient angle is 90 degrees (i.e. the edge is in the east–west direction) the point will be considered to be on the edge if its gradient magnitude is greater than the magnitudes at pixels in the north and south directions,
c-if the rounded gradient angle is 135 degrees (i.e. the edge is in the northeast–southwest direction) the point will be considered to be on the edge if its gradient magnitude is greater than the magnitudes at pixels in the north west and south east directions,
d-if the rounded gradient angle is 45 degrees (i.e. the edge is in the north west–south east direction) the point will be considered to be on the edge if its gradient magnitude is greater than the magnitudes at pixels in the north east and south west directions.
I don't know how to do the non-maximun suppression.

Attachments Canny_Edge_Detection.png 538.05 KB
This article has been dead for over six months. Start a new discussion instead.