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?
In computer vision we usually operate on 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

Image processing
An image processing operation typically defines a new image g in terms of an existing image f.
We can transform either the domain or the range of f.
Range transformation:
What’s kinds of operations can this perform?

Image processing
Some operations preserve the range but change the domain of f :
What kinds of operations can this perform?

Image processing
Still other operations operate on both the domain and the range of f .

Noise
Image processing is useful for noise reduction...
Common types of noise:
Salt and pepper noise: contains random occurrences of black and white pixels
Impulse noise: contains random occurrences of white pixels
Gaussian noise: variations in intensity drawn from a Gaussian normal distribution

Ideal noise reduction

Ideal noise reduction

Practical noise reduction
How can we “smooth” away noise in a single image?

Mean filtering

Slide 16

Mean filtering

Effect of mean filters

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?

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 ?

Mean vs. Gaussian filtering

Filtering an impulse

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.

Median filters
A Median Filter operates over a window by selecting the median intensity in the window.
What advantage does a median filter have over a mean filter?
Is a median filter a kind of convolution?

Comparison: salt and pepper noise

Comparison: Gaussian noise