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
Consider

2D edge detection filters

The Canny edge detector
original image (Lena)

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