| ||||||||||||||
| ||||||||||||||
|
||||||||||||||
An Introduction to Edge Detection: The Sobel Edge DetectorThis article will introduce the basics of edge detection by looking at the simple (but effective) Sobel edge detector. Obviously, the first thing we need to ask is "What exactly is an edge?". If we look at the sample picture below and try to understand what an edge is it is quite easy to figure out. In a picture, an edge is normally defined as an abrupt change in colour intensity.
Despite this, most computer vision systems must do with one (normally greyscale) camera, so change in colour intensity is the next best thing! So, firstly let us look at the Sobel Edge Detector.
The Sobel Edge DetectorThe Sobel Edge Detector uses a simple convolution kernel to create a series of gradient magnitudes. For those you of mathematically inclined, applying convolution K to pixel group p can be represented as:
To understand how the Sobel Edge Detector can pick out smaller details here is a composite picture. Below is a photograph I took in the Meiji Shrine in Tokyo - I have mixed the original photo with the result of the Sobel Edge detector to highlight the results (click for a larger picture). Experiment with the Sobel edge detector by downloading Image Analysis Explorer and trying it with your pictures. You may also download these convolution kernels to try out.
Problems with the Sobel DetectorThere are a few problems with the Sobel algorithm that often need to be ironed out in field applications. Firstly, the Sobel detector is incredibly sensitive to noise in the picture. Most real-world pictures will have noise in them and the Sobel algorithm effectively highlights them as edges. This can yield horribly ineffective results:
The Canny edge detector solves these problems by firstly blurring the image slightly then applying an algorithm that effectively thins the edges to one-pixel. This will be covered later.
ConclusionThe Sobel edge detector is a great algorithm to learn the basics of edge detection. Make sure you fully understand how it works and why it has the limitations it does. For the programmers, IAE comes with complete source code so you can see the Sobel Edge Detection code in its respective filter.
Submitted: 27/01/2002 Article content copyright © James Matthews, 2002.
|
|
|||||||||||||
All content copyright © 1998-2007, Generation5 unless otherwise noted.
- Privacy Policy - Legal - Terms of Use -