|
|
|
|
|
Forsyth & Ponce, chapters 8.1-8.2 |
|
http://www.cs.washington.edu/education/courses/490cv/02wi/readings/book-7-revised-a-indx.pdf |
|
|
|
|
|
|
|
|
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: |
|
|
|
|
|
|
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 |
|
|
|
|
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? |
|
|
|
|
|
|
|
|
Some operations preserve the range but change
the domain of f : |
|
|
|
What kinds of operations can this perform? |
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
How can we “smooth” away noise in a single
image? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Let’s write this down as an equation. Assume the averaging window is
(2k+1)x(2k+1): |
|
|
|
|
|
We can generalize this idea by allowing
different weights for different neighboring pixels: |
|
|
|
|
|
This is called a cross-correlation operation and
written: |
|
|
|
H is called the “filter,” “kernel,” or “mask.” |
|
The above allows negative filter indices. When you implement need to use: H[u+k,v+k] instead of H[u,v] |
|
|
|
|
What’s the kernel for a 3x3 mean filter? |
|
|
|
|
|
|
A Gaussian kernel gives less weight to pixels
further from the center of the window |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This kernel is an approximation of a Gaussian
function: |
|
|
|
|
|
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? |
|
|
|
|
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? |
|
|
|
|
|