Edge DetectionEdge Detection is a kind of "Area-based" Image Processing
Alogirhtm. Edge Detection can be performed either in the Spatial Domain
(our normal images) or in the Frequency Domain. We present here only some of the
Spatial Domain techniques.
What is it? Edge Detection is the discovery including the
localization and description of edges in an image. A pixel that is designated as
an edges in a 2D image represents a point where greyscale values greatly
varry. Often this will correspond to boundaries of objects such as the
transition between
Why? Edges describe/represent some of the important features of an
image. The extraction of features has been used in everything from compression
algorithms to more commonly the interpretation of image information. It also has
been used as another cool special effect.
If you were to look at greyscale transitions of a 1D signal (or you can think
of this as looking for vertical kinds of edges in a single image row of a 2D
image) the following would be "kinds" of edges that you may observer.
Step Ramp
|-------- /--------
| /
| /
_______| _______/
Roof Line
/\ |--|
/ \ | |
/ \ | |
___/ \_____ _____| |________
Ofcourse such perfect profiles rarely happen, but, they illustrate the
kind of greyscale variation that leads to the observance of an edge point.
Definitions
- Edgel or Edge point a pixel/point in the image where a significant
local intensity change occurs.
- Edge Fragment Can be described by its location in the image and its
oriendation.
- Contour A set of connected edges.
- Edge linking The connection of edge points or fragments into a
countour.
- Edge following The process of tracing/tracking consecutive edge
points.
There are MANY ways to detect edges. In the spatial domain, this is performed
by Convolution with a Filter Mask. See here for a general description of this process. Below are
some examples.
Roberts
The following mask is applied.
The edge image is = |Gx| + |Gy|.
Sobel Edge Detection
The edge image is = sqrt (Sx*Sx + Sy*Sy).
Second Order Derivative Edge Detector: LOG
LOG stands for the Laplacian of Gaussian. You have reading on this kind of
detector. But, here instead taking edge points as the maximums of the First
Order Derivative Filters such the zero-crossings of the Second Order Derivative
will indicate the presence of an edge point. The Laplacian function is the implmentation
of the Second Order Derivative. However, first, a Gaussian function is applied
to do some smoothing. This is discussed in your reading and was developed by
modeling how our human eye detects edges.
LOG =
0 |
0 |
-1 |
0 |
0 |
0 |
-1 |
-2 |
-1 |
0 |
-1 |
-2 |
16 |
-2 |
-1 |
0 |
-1 |
-2 |
-1 |
0 |
0 |
0 |
-1 |
0 |
0 |
Notice how the signle filter is symmetric. Different sized masks can be
choosen such as 9x9, 11x11, etc.
Consider the Following:
- What is the difference in these operators? What will the output look like
for different images?
- How would you design a mask or set of masks to detect only vertical edges?
|