Edge Detection
|
|
|
|
Today’s reading |
|
Cipolla & Gee on edge
detection (available online) |
Announcements
Edge detection
|
|
|
|
Convert a 2D image into a set
of curves |
|
Extracts salient features of
the scene |
|
More compact than pixels |
Origin of Edges
|
|
|
Edges are caused by a variety
of factors |
Edge detection
|
|
|
How can you tell that a pixel
is on an edge? |
Images as functions…
Image gradient
|
|
|
The gradient of an image: |
|
|
|
|
|
|
The discrete gradient
|
|
|
How can we differentiate a digital
image F[x,y]? |
The discrete gradient
|
|
|
|
How can we differentiate a digital
image F[x,y]? |
|
Option 1: reconstruct a continuous image, then take
gradient |
|
Option 2: take discrete derivative (“finite
difference”) |
The Sobel operator
|
|
|
|
Better approximations of the
derivatives exist |
|
The Sobel operators below are
very commonly used |
Effects of noise
|
|
|
|
Consider a single row or column
of the image |
|
Plotting intensity as a
function of position gives a signal |
Solution: smooth first
Derivative theorem of
convolution
|
|
|
This saves us one operation: |
Laplacian of Gaussian
2D edge detection filters
The Canny edge detector
The Canny edge detector
The Canny edge detector
The Canny edge detector
Non-maximum suppression
|
|
|
|
Check if pixel is local maximum
along gradient direction |
|
requires checking interpolated
pixels p and r |
Effect of s (Gaussian kernel spread/size)
Edge detection by
subtraction
Edge detection by
subtraction
Edge detection by
subtraction
Gaussian - image filter