Image filtering

Image filtering

Reading
Forsyth & Ponce, chapter 7

What is an image?

Images as functions
We can think of an image as a function, f, from R2 to R:
f( x, y ) gives the intensity at position ( x, y )
Realistically, we expect the image only to be defined over a rectangle, with a finite range:
f: [a,b]x[c,d] à [0,1]
A color image is just three functions pasted together.  We can write this as a “vector-valued” function:

Images as functions

What is a digital image?
We usually work with digital (discrete) images:
Sample the 2D space on a regular grid
Quantize each sample (round to nearest integer)
If our samples are D apart, we can write this as:
f[i ,j] = Quantize{ f(i D, j D) }
The image can now be represented as a matrix of integer values

Filtering noise
How can we “smooth” away noise in an image?

Mean filtering

Slide 10

Mean filtering

Cross-correlation filtering
Let’s write this down as an equation.  Assume the averaging window is (2k+1)x(2k+1):

Mean kernel
What’s the kernel for a 3x3 mean filter?

Mean vs. Gaussian filtering

Gaussian filtering
A Gaussian kernel gives less weight to pixels further from the center of the window
This kernel is an approximation of a Gaussian function:
What happens if you increase s ?
                                                        Photoshop demo

Image gradient
How can we differentiate a digital image F[x,y]?
Option 1:  reconstruct a continuous image, f, then take gradient
Option 2:  take discrete derivative (finite difference)

Image gradient

Scale space (Witkin 83)

Scale space:  insights
As the scale is increased
edge position can change
edges can disappear
new edges are not created
Bottom line
need to consider edges at different scales
(or else know what scale you care about)

Slide 20

Slide 21

Convolution
A convolution operation is a cross-correlation where the filter is flipped both horizontally and vertically before being applied to the image:
It is written:
Suppose H is a Gaussian or mean kernel.  How does convolution differ from cross-correlation?
Suppose F is an impulse function (previous slide)  What will G look like?

Continuous Filters
We can also apply filters to continuous images.
In the case of cross correlation:
In the case of convolution:
Note that the image and filter are infinite.