2. What is Edge Detection?
Identifying points/Edges in a digital image at which
the image brightness changes sharply or has
discontinuities.
- Edges are significant local changes of intensity in an image.
- Edges typically occur on the boundary between two
different regions in an image.
3. Goal of edge detection
Edge detection is extensively used in image segmentation
when we want to divide the image into areas
corresponding to different objects. If we need to extract
different object from an image, we need Edge Detection
Using Edge Detection, we can:
- Produce a line drawing of a scene from an image of that scene.
- Important features can be extracted from the edges of an image
(e.g., corners, lines, curves).
- These features are used by higher-level computer vision algorithms
(e.g., recognition, Image comparizon ).
Unaccepted object can be remove.
4. Process of Edge Detection
Most of edge detection algorithm are based on one of two basic
properties of intensity values: Discontinuity and similarity.
Typically, there are three steps to perform edge detection:
1. Noise reduction
2. Edge enhancement
3. Edge localization
5. Process of Edge Detection (...)
Noise reduction
where we try to suppress as much noise as possible, without
smoothing away the meaningful edges.
Original Image After Nois Reduction
6. Process of Edge Detection (...)
Edge enhancement
where we apply some kind of filter that responds strongly at edges
and weakly elsewhere, so that the edges may be identified as local
maxima in the filter’s output . One suggestion is to use some kind of
high pass filter.
7. Process of Edge Detection (...)
Edge localization
where we decide which of the local maxima output by the filter are
meaningful edges and which are caused by noise
8. Process of Edge Detection (...)
There are many algorithm for Edge Detection. Some are:
Robert's edge detector
Prewitt edge detector
Sobel edge detector
Frie Chen edge detector
Canny edge detector
Canny edge detector is giving best output, I am going to explain Canny edge
detector.
9. Canny Edge Detector
Canny Edge Detector is complex and uses a multi-stage algorithm to
detect a wide range of edges in images. It is most commonly
implemented edge detection algorithm. It has three basic objectives:
Low error rate
Edge points should be well localized
Single edge point response
10. Canny Edge Detector
As I mention before, canny edge detector have multiple algorithm.
It have 5 steps, those are:
Image Smoothing
Gradient Operation
Nonmaxima Suppression
Hysteresis Thresholding
Connectivity Analysis
11. Canny Edge Detector
Image Smoothing
Reduce image noise by smoothing with a Gaussian
The choice of σ depends on desired behavior
large σ detects large scale edges
small σ detects fine features
The larger the width of the Gaussian mask, the lower is the detector's sensitivity to
noise.
13. Canny Edge Detector
Nonmaxima Suppression
Nonmaxima Suppression reduce thick edge strength responses around true edges
select the single maximum point across the width of an edge. is used to trace along
the edge in the edge direction and suppress any pixel value (sets it equal to 0) that is
not considered to be an edge. This will give a thin line in the output image.
14. Canny Edge Detector
Hysteresis Thresholding
Large intensity gradients are more likely to correspond to edges than small intensity gradients. It is in most
cases impossible to specify a threshold at which a given intensity gradient switches from corresponding to an
edge into not doing so. Therefore Canny uses thresholding with hysteresis.
Thresholding with hysteresis requires two thresholds – high and low. Select two thresholds TH and TL such that
0 6 TL < TH 6 255
Create two new binary 2-D arrays
• gNH(x; y) = gN(x y) > TH
• gNL(x; y) = gN(x y) > TL
Eliminate from gNL(x; y) all the nonzero
pixels from gNH(x y)
After this operation
• gNH(x y) will contain only the strong edge points
• gNL(x y) will contain only the weak edge points
• They will not contain common points
Ratio of TH to TL should be 2 : 1 or 3 : 1
15. Canny Edge Detector
Connectivity Analysis
After step #4, gNH(x y) will contain the strong edge pixels { thus are valid edge pixels.
However, there will be discontinuity in the edges. Longer edges are formed using the
following procedure:
1 Add all the edge pixels in gNH(x y) to a list L
2 Do until there are more edge pixels in L
• Locate the next unvisited edge pixel, p
• Mark as valid edge pixels all the weak pixels in gNL(x y) that are connected to p (8
neighbors)
• Remove p from L
3 Set to zero all pixels in gNL(x y) that were not marked as valid edge pixels
4 Combine all nonzero pixels in gNH(x y) and gNL(x y ) to find the final edge pixels
Analysis