Search code examples
image-processingemgucvedge-detectioncanny-operator

Does edge detection depend on image features?


Hi I am trying to figure out whether edge detection depends on image conditions (features).

I know there is a huge mathematical basis for any edge detection operator. Also I know edge detection is sensitive for a noise on a picture.

What about brightness, contrast? The point is I am looking how to estimate quality of the image. Is quality of image important for edge detection?


Solution

  • Edges are detected where there is a change in pixel value in either x or y direction in an image. The maths behind this is simple differentiation. Any variation or noise that can change the pixel value can reduce the chances of detecting an edge but then morphological operations can help.

    For example, blur is one operation that can reduce the image quality by changing the pixel values. Figure 1 represents an image and its edges.Input Image and its edges. As I have already mentioned edges are detected where the pixel value changes in one direction, you can see the white lines as edges corresponding to these changes in pixel value. Figure 2 is blurred image of input image, the edges of this blur image is much less than the actual number of edges.blurr image and its edges.

    That is just one example, noise while capturing the image, illumination of object or dark object can give different edges. Depending upon how the noise is affecting the image the edges can increase or decrease.

    There are some basic methods of detecting edges, I have used canny edge detection. You can refer to review of classic edge detectors to understand them further.