|
1
|
|
|
2
|
|
|
3
|
- Szeliski, Chapter 3.1-3.2
|
|
4
|
|
|
5
|
- 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:
|
|
6
|
|
|
7
|
- 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
|
|
8
|
- How can we “smooth” away noise in an image?
|
|
9
|
|
|
10
|
|
|
11
|
|
|
12
|
- Let’s write this down as an equation.
Assume the averaging window is (2k+1)x(2k+1):
|
|
13
|
- What’s the kernel for a 3x3 mean filter?
|
|
14
|
|
|
15
|
- 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
|
|
16
|
- 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)
|
|
17
|
|
|
18
|
- 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?
|
|
19
|
- 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.
|
|
20
|
- Cross-correlation/convolution is useful for, e.g.,
- Blurring
- Sharpening
- Edge Detection
- Interpolation
- Convolution has a number of nice properties
- Commutative, associative
- Convolution corresponds to product in the Fourier domain
- More sophisticated filtering techniques can often yield superior results
for these and other tasks:
- Polynomial (e.g., bicubic) filters
- Steerable filters
- Median filters
- Bilateral Filters
- …
- (see text, web for more details on these)
|