next up previous
Next: The Laplace Operator Up: gradient Previous: Edge Detection

Gradient Operation for Edge Detection

The gradient operator is sensitive to local gray level changes and is therefore a convenient tool to detect edges. If the magnitude $\vert g[m,n]\vert$ of the gradient image is larger than a threshold value, the pixel $[m,n]$ can be considered as on an edge. Moreover, the orientation of the edge can be obtained from the direction $\angle g[m,n]$ of the gradient vector. Some simple examples of 1D case is shown below:

gradient_edge_detection_1d.gif

gradient_line_detection_1d.gif

forest.gif

Edge detection by gradient operators (Roberts, Sobel and Prewitt):

forest_gradient.gif

However, when these gradient operators are used as edge detectors, their performances are very poor. Basically, they can not distinguish edges from textures and/or noise. The Prewitt gradient filter (3 by 3 and 5 by 5) is used to obtain the edges in the following image containing fuzzy edges:

fuzzy_edge.gif

fuzzy_edge_gradient_1.gif fuzzy_edge_gradient_2.gif

The gradient image $g[m,n]$ obtained by applying the gradient operator to the original image $x[m,n]$ can be used in various ways to enhance the details of the image. For example, gradient image can be used to high-boost to emphasize the details in the image while still keeping the rest as background:

Here $T$ is some specified threshold, and $L_g$ is a constant.

Alternatively, we can emphasize the details while suppressing the back ground:

Here $L_g$ and $L_b$ are two gray levels assigned to the details and the background.


next up previous
Next: The Laplace Operator Up: gradient Previous: Edge Detection
Ruye Wang 2009-09-20