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