Chapter 14

Edge Detection

What will we Learn?

  • What is edge detection and why is it so important to computer vision?
  • What are the main edge detection techniques and how well do they work?
  • How can edge detection be performed in MATLAB?
  • What is the Hough transform and how can it be used to postprocess the results of an edge detection algorithm?

14.1 Formulation of the problem

Edge detection is a fundamental image processing operation used in many computer vision solutions. The goal of edge detection algorithms is to find the most relevant edges in an image or scene. These edges should then be connected into meaningful lines and boundaries, resulting in a segmented image1 containing two or more regions. Subsequent stages in a machine vision system will use the segmented results for tasks such as object counting, measuring, feature extraction, and classification.

The need for edge detection algorithms as part of a vision system also has its roots in biological vision: there is compelling evidence that the very early stages of the human visual system (HVS) contain edge-sensitive cells that respond strongly (i.e., exhibit a higher firing rate) when presented with edges of certain intensity and orientation. Edge detection algorithms, therefore, attempt to emulate an ability present in the human visual system.

Such an ability is, according to many vision theorists, essential to all processing steps that take place afterward in the HVS. David Marr, in his very influential theory of vision ...

Get Practical Image and Video Processing Using MATLAB® now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.