Notes
Slide Show
Outline
1
Image filtering
2
Image filtering
3
Reading
  • Szeliski, Chapter 3.1-3.2
4
What is an image?
5
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:
6
Images as functions
7
What is a digital image?
  • 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
Filtering noise
  • How can we “smooth” away noise in an image?











9
Mean filtering
10
 
11
Mean filtering
12
Cross-correlation filtering
  • Let’s write this down as an equation.  Assume the averaging window is (2k+1)x(2k+1):



13
Mean kernel
  • What’s the kernel for a 3x3 mean filter?


14
Mean vs. Gaussian filtering
15
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 ?
                                                            Photoshop demo
16
Image gradient
  • 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
Image gradient
18
 
19
 
20
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?
21
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.



22
More on filters…
  • 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)