1
|
|
2
|
- Forsyth & Ponce, chapter 7
|
3
|
- 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:
- A color image is just three functions pasted together. We can write this as a “vector-valued”
function:
|
4
|
|
5
|
- 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
|
6
|
- 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?
|
7
|
- Some operations preserve the range but change the domain of f :
- What kinds of operations can this perform?
- Many image transforms operate both on the domain and the range
|
8
|
- Let’s start with a 1-D image (a “signal”):
|
9
|
- Let’s start with a 1-D image (a “signal”):
|
10
|
- Let’s start with a 1-D image (a “signal”):
|
11
|
- Another example is the discrete Fourier transform
- Each row of M is a sinusoid (complex-valued)
- The frequency increases with the row number
|
12
|
|
13
|
- We can do the same thing for 2D images by concatenating all of the rows
into one long vector:
|
14
|
- A 2D image f[i,j] can be filtered by a 2D kernel h[u,v] to produce an
output image g[i,j]:
- 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]
|
15
|
- Filtering 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
|
16
|
|
17
|
|
18
|
|
19
|
|
20
|
- What’s the kernel for a 3x3 mean filter?
|
21
|
- A Gaussian kernel gives less weight to pixels further from the center of
the window
- This kernel is an approximation of a Gaussian function:
|
22
|
|
23
|
- 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?
|
24
|
- Let F be the 2D Fourier transform of f, H of h
- Define
- Convolution theorem: Convolution in the spatial (image) domain is
equivalent to multiplication in the frequency (Fourier) domain.
- Symmetric theorem: Convolution in the frequency domain is equivalent to multiplication
in the spatial domain.
- Why is this useful?
|
25
|
|
26
|
- 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?
|
27
|
|
28
|
|