filters - bilkent universityduygulu/courses/cs554/notes/filters1.pdf · • image filters in...
TRANSCRIPT
![Page 1: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/1.jpg)
Filters
CS 554 – Computer Vision
Pinar Duygulu
Bilkent University
![Page 2: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/2.jpg)
Today’s topics
• Image Formation
• Image filters in spatial domain – Filter is a mathematical operation of a grid of numbers – Smoothing, sharpening, measuring texture
• Image filters in the frequency domain
– Filtering is a way to modify the frequencies of images – Denoising, sampling, image compression
• Templates and Image Pyramids – Filtering is a way to match a template to the image – Detection, coarse-to-fine registration
![Page 3: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/3.jpg)
Images as functions
Source: S. Seitz
![Page 4: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/4.jpg)
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, 255]
• A color image is just three functions pasted
together. We can write this as a “vector-valued”
function:
Source: S. Seitz
( , )
( , ) ( , )
( , )
r x y
f x y g x y
b x y
![Page 5: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/5.jpg)
Digital images • In computer vision we operate on digital (discrete) images:
• Sample the 2D space on a regular grid
• Quantize each sample (round to nearest integer)
• Image thus represented as a matrix of integer values.
Adapted from S. Seitz
2D
1D
![Page 6: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/6.jpg)
Images as discrete functions
• Cartesian Coordinates
Source: Fei Feli Li, Stanford University
![Page 7: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/7.jpg)
Today’s topics
• Image Formation
• Image filters in spatial domain – Filter is a mathematical operation of a grid of numbers – Smoothing, sharpening, measuring texture
• Image filters in the frequency domain
– Filtering is a way to modify the frequencies of images – Denoising, sampling, image compression
• Templates and Image Pyramids – Filtering is a way to match a template to the image – Detection, coarse-to-fine registration
![Page 8: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/8.jpg)
Zebras vs. Dalmatians
Both zebras and dalmatians have black and white pixels in about the same number – if we shuffle the images point-wise processing is not affected Need to measure properties relative to small neighborhoods of pixels - find different image patterns
![Page 9: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/9.jpg)
Filtering g [m,n] f [m,n]
We want to remove unwanted sources of variation, and keep the information relevant for whatever task we need to solve
Source: Torralba, MIT
![Page 10: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/10.jpg)
Filters
• Filtering:
– Form a new image whose pixels are a combination of original pixel values
- compute function of local neighborhood at each position
• Goals:
• Extract useful information from the images
Features (textures, edges, corners, distinctive points, blobs…)
• Modify or enhance image properties:
super-resolution; in-painting; de-noising, resizing
• Detect patterns
Template matching
Source: Fei Feli Li, Stanford University; James Hays, Brown
![Page 11: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/11.jpg)
Smooth/Sharpen Images... Find edges... Find waldo…
Source: Darrell, Berkeley
![Page 12: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/12.jpg)
Source: Fei Feli Li, Stanford University
![Page 13: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/13.jpg)
Common types of noise
– Salt and pepper noise: random occurrences of black and white pixels
– Impulse noise: random occurrences of white pixels
– Gaussian noise: variations in intensity drawn from a Gaussian normal distribution
Source: S. Seitz Source: Darrell, Berkeley
![Page 14: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/14.jpg)
Gaussian noise
Fig: M. Hebert
>> noise = randn(size(im)).*sigma;
>> output = im + noise;
Source: Darrell, Berkeley
![Page 15: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/15.jpg)
First attempt at a solution
• Let’s replace each pixel with an average of all the values in its neighborhood
• Assumptions:
– Expect pixels to be like their neighbors
– Expect noise processes to be independent from pixel to pixel
Source: Darrell, Berkeley
![Page 16: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/16.jpg)
First attempt at a solution
• Let’s replace each pixel with an average of all the values in its neighborhood
• Moving average in 1D:
Source: S. Marschner Source: Darrell, Berkeley
![Page 17: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/17.jpg)
Weighted Moving Average
• Can add weights to our moving average
• Weights [1, 1, 1, 1, 1] / 5
Source: S. Marschner Source: Darrell, Berkeley
![Page 18: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/18.jpg)
Weighted Moving Average
• Non-uniform weights [1, 4, 6, 4, 1] / 16
Source: S. Marschner Source: Darrell, Berkeley
![Page 19: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/19.jpg)
Moving Average In 2D
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Source: S. Seitz Source: Darrell, Berkeley
![Page 20: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/20.jpg)
Moving Average In 2D
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 10
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Source: S. Seitz Source: Darrell, Berkeley
![Page 21: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/21.jpg)
Moving Average In 2D
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 10 20
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Source: S. Seitz Source: Darrell, Berkeley
![Page 22: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/22.jpg)
Moving Average In 2D
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 10 20 30
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Source: S. Seitz Source: Darrell, Berkeley
![Page 23: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/23.jpg)
Moving Average In 2D
0 10 20 30 30
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
Source: S. Seitz Source: Darrell, Berkeley
![Page 24: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/24.jpg)
Moving Average In 2D
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 10 20 30 30 30 20 10
0 20 40 60 60 60 40 20
0 30 60 90 90 90 60 30
0 30 50 80 80 90 60 30
0 30 50 80 80 90 60 30
0 20 30 50 50 60 40 20
10 20 30 30 30 30 20 10
10 10 10 0 0 0 0 0
Source: S. Seitz Source: Darrell, Berkeley
![Page 25: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/25.jpg)
Correlation filtering
Say the averaging window size is 2k+1 x 2k+1:
Loop over all pixels in neighborhood around image pixel F[i,j]
Attribute uniform weight to each pixel
Now generalize to allow different weights depending on neighboring pixel’s relative position:
Non-uniform weights
Source: Darrell, Berkeley
![Page 26: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/26.jpg)
Correlation filtering
Filtering an image: replace each pixel with a linear combination of its neighbors. The filter “kernel” or “mask” H[u,v] is the prescription for the weights in the linear combination.
This is called cross-correlation, denoted
Source: Darrell, Berkeley
![Page 27: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/27.jpg)
Averaging Filter
adapted from Darrell and Freeman, MIT
![Page 28: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/28.jpg)
Averaging Filter
adapted from Darrell and Freeman, MIT
Averaging Filter
![Page 29: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/29.jpg)
Averaging Filter
adapted from Darrell and Freeman, MIT
![Page 30: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/30.jpg)
Averaging Filter
adapted from Darrell and Freeman, MIT
![Page 31: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/31.jpg)
Averaging filter
• What values belong in the kernel H for the moving average example?
0 10 20 30 30
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 1 1
1 1 1
1 1 1
“box filter”
?
Source: Darrell, Berkeley
![Page 32: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/32.jpg)
Smoothing by averaging
depicts box filter: white = high value, black = low value
original filtered
Source: Darrell, Berkeley
![Page 33: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/33.jpg)
Example
Source: Martial Hebert, CMU
![Page 34: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/34.jpg)
Example
Source: Martial Hebert, CMU
![Page 35: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/35.jpg)
Example
Source: Martial Hebert, CMU
![Page 36: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/36.jpg)
Smoothing by averaging
Source: Martial Hebert, CMU
![Page 37: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/37.jpg)
Smoothing by averaging
Source: Martial Hebert, CMU
![Page 38: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/38.jpg)
Smoothing by averaging
Source: Martial Hebert, CMU
![Page 39: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/39.jpg)
Smoothing by averaging
Source: Martial Hebert, CMU
![Page 40: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/40.jpg)
Gaussian filter
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 90 0 90 90 90 0 0
0 0 0 90 90 90 90 90 0 0
0 0 0 0 0 0 0 0 0 0
0 0 90 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
1 2 1
2 4 2
1 2 1
• What if we want nearest neighboring pixels to have the most influence on the output?
This kernel is an approximation of a Gaussian function:
Source: S. Seitz Source: Darrell, Berkeley
A weighted average that weights pixels at its center much more strongly than its boundaries
![Page 41: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/41.jpg)
Smoothing with a Gaussian
Source: Darrell, Berkeley
![Page 42: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/42.jpg)
Smoothing with a Gaussian
Source: Martial Hebert, CMU
![Page 43: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/43.jpg)
Smoothing with a Gaussian
Result of blurring using a uniform local model Produces a set of narrow vertical horizontal and vertical bars – ringing effect
Result of blurring using a set of Gaussian weights
Source: David Forsyth, UIUC
![Page 44: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/44.jpg)
Smoothing with a Gaussian
Source: Martial Hebert, CMU
![Page 45: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/45.jpg)
Gaussian filters • What parameters matter here?
• Size of kernel or mask
– Note, Gaussian function has infinite support, but discrete filters use finite kernels
σ = 5 with 10 x 10 kernel
σ = 5 with 30 x 30 kernel
Source: Darrell, Berkeley
![Page 46: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/46.jpg)
Gaussian filters • What parameters matter here?
• Variance of Gaussian: determines extent of smoothing
σ = 2 with 30 x 30 kernel
σ = 5 with 30 x 30 kernel
Source: Darrell, Berkeley
![Page 47: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/47.jpg)
Smoothing with a Gaussian
If is small : the smoothing will have little effect If is larger : neighboring pixels will have larger weights resulting in consensus of the neighbors If is very large : details will disappear along with the noise
Source: Martial Hebert, CMU
![Page 48: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/48.jpg)
Gaussian filter
=1
=2
=4
Source: Torralba, MIT
![Page 49: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/49.jpg)
Gaussian smoothing to remove noise
Source: Martial Hebert, CMU
![Page 50: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/50.jpg)
Gaussian smoothing to remove noise
Source: Martial Hebert, CMU
![Page 51: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/51.jpg)
Smoothing with a Gaussian
The effects of smoothing Each row shows smoothing with gaussians of different width; each column shows different realizations of an image of gaussian noise.
Source: David Forsyth, UIUC
![Page 52: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/52.jpg)
Smoothing with a Gaussian
• Filtered noise is sometimes useful
– looks like some natural textures, can be used to simulate fire, etc.
Source: David Forsyth, UIUC
![Page 53: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/53.jpg)
Gaussian kernel
Source: from Michael Black
![Page 54: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/54.jpg)
Matlab >> hsize = 10;
>> sigma = 5;
>> h = fspecial(‘gaussian’ hsize, sigma);
>> mesh(h);
>> imagesc(h);
>> outim = imfilter(im, h);
>> imshow(outim);
outim Source: Darrell, Berkeley
![Page 55: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/55.jpg)
Smoothing with a Gaussian
for sigma=1:3:10
h = fspecial('gaussian‘, fsize, sigma);
out = imfilter(im, h);
imshow(out);
pause;
end
…
Parameter σ is the “scale” / “width” / “spread” of the Gaussian kernel, and controls the amount of smoothing.
Source: Darrell, Berkeley
![Page 56: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/56.jpg)
Convolution
• Convolution: – Flip the filter in both dimensions (bottom to top, right to left)
– Then apply cross-correlation
Notation for convolution operator
F
H
Source: Darrell, Berkeley
![Page 57: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/57.jpg)
Convolution vs. correlation Convolution
Cross-correlation
For a Gaussian or box filter, how will the outputs differ?
If the input is an impulse signal, how will the outputs differ? Source: Darrell, Berkeley
![Page 58: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/58.jpg)
Predict the filtered outputs
0 0 0
0 1 0
0 0 0
* = ?
0 0 0
1 0 0
0 0 0 * = ?
1 1 1 1 1 1 1 1 1
0 0 0 0 2 0 0 0 0
- * = ?
Source: Darrell, Berkeley
![Page 59: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/59.jpg)
Practice with linear filters
adapted from Darrell and Freeman, MIT
![Page 60: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/60.jpg)
Practice with linear filters
adapted from Darrell and Freeman, MIT
![Page 61: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/61.jpg)
Practice with linear filters
0 0 0
0 1 0
0 0 0
Original Filtered
(no change)
Source: D. Lowe Source: Darrell, Berkeley
![Page 62: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/62.jpg)
Impulse
0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
f [m,n] I g h[m k,n l]g[k,l]k,l
g[m,n]
h[m,n]
f[m,n]
=
Source: Torralba, MIT
![Page 63: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/63.jpg)
Practice with linear filters
0 0 0
1 0 0
0 0 0
Original
?
Source: D. Lowe Source: Darrell, Berkeley
![Page 64: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/64.jpg)
Practice with linear filters
0 0 0
1 0 0
0 0 0
Original Shifted left
by 1 pixel
with
correlation
Source: D. Lowe Source: Darrell, Berkeley
![Page 65: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/65.jpg)
Shifts
0 0 0 0 0
0 0 0 0 0
0 0 0 0 1
0 0 0 0 0
0 0 0 0 0
f [m,n] I g h[m k,n l]g[k,l]k,l
g[m,n]
h[m,n]
f[m,n]
=
2pixels
Source: Torralba, MIT
![Page 66: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/66.jpg)
Practice with linear filters
adapted from Darrell and Freeman, MIT
![Page 67: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/67.jpg)
Practice with linear filters
adapted from Darrell and Freeman, MIT
![Page 68: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/68.jpg)
Practice with linear filters
adapted from Darrell and Freeman, MIT
![Page 69: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/69.jpg)
Sharpening
adapted from Darrell and Freeman, MIT
![Page 70: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/70.jpg)
Sharpening
adapted from Darrell and Freeman, MIT
![Page 71: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/71.jpg)
Practice with linear filters
Original
1 1 1 1 1 1 1 1 1
0 0 0 0 2 0 0 0 0
-
Sharpening filter - Accentuates differences with local average
Source: D. Lowe Source: Darrell, Berkeley
![Page 72: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/72.jpg)
Filtering examples: sharpening
Source: Darrell, Berkeley
![Page 73: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/73.jpg)
Rectangular filter
g[m,n]
h[m,n]
=
f[m,n]
Source: Torralba, MIT
![Page 74: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/74.jpg)
Source: Fei Fei Li, Stanford
![Page 75: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/75.jpg)
Rectangular filter
g[m,n]
h[m,n]
=
f[m,n]
Source: Torralba, MIT
![Page 76: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/76.jpg)
Rectangular filter
g[m,n]
h[m,n]
=
f[m,n]
Source: Torralba, MIT
![Page 77: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/77.jpg)
Integral image
Source: Torralba, MIT
![Page 78: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/78.jpg)
Shift invariant linear system
• Shift invariant:
– Operator behaves the same everywhere, i.e. the value of the output depends on the pattern in the image neighborhood, not the position of the neighborhood.
• Linear:
– Superposition: h * (f1 + f2) = (h * f1) + (h * f2)
– Scaling: h * (k f) = k (h * f)
Source: Darrell, Berkeley
![Page 79: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/79.jpg)
Properties of convolution • Linear & shift invariant
• Commutative:
f * g = g * f
• Associative
(f * g) * h = f * (g * h)
• Identity:
unit impulse e = […, 0, 0, 1, 0, 0, …]. f * e = f
• Differentiation:
Source: Darrell, Berkeley
![Page 80: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/80.jpg)
Separability
• In some cases, filter is separable, and we can factor into two steps:
– Convolve all rows
– Convolve all columns
Source: Darrell, Berkeley
![Page 81: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/81.jpg)
Separability
• In some cases, filter is separable, and we can factor into two steps: e.g.,
What is the computational complexity advantage for a separable filter of size k x k, in terms of number of operations per output pixel?
f * (g * h) = (f * g) * h
g
h
f
Source: Darrell, Berkeley
![Page 82: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/82.jpg)
Advantages of separability
adapted from Larry Davis, University of Maryland
![Page 83: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/83.jpg)
Seperable Gaussian
![Page 84: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/84.jpg)
Advantages of Gaussians
adapted from Larry Davis, University of Maryland
![Page 85: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/85.jpg)
Effect of smoothing filters
Additive Gaussian noise Salt and pepper noise
Source: Darrell, Berkeley
![Page 86: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/86.jpg)
Median filter
• No new pixel values
introduced
• Removes spikes: good
for impulse, salt &
pepper noise
Source: Darrell, Berkeley
![Page 87: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/87.jpg)
Median filter
Salt and pepper noise
Median filtered
Source: M. Hebert
Plots of a row of the image
Source: Darrell, Berkeley
![Page 88: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/88.jpg)
Median filter
• Median filter is edge preserving
Source: Darrell, Berkeley
![Page 89: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/89.jpg)
Boundary issues
• What is the size of the output?
• MATLAB: filter2(g, f, shape)
– shape = ‘full’: output size is sum of sizes of f and g
– shape = ‘same’: output size is same as f
– shape = ‘valid’: output size is difference of sizes of f and g
f
g g
g g
f
g g
g g
f
g g
g g
full same valid
Source: S. Lazebnik Source: Darrell, Berkeley
![Page 90: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/90.jpg)
Boundary issues • What about near the edge?
– the filter window falls off the edge of the image
– need to extrapolate
– methods:
• clip filter (black)
• wrap around
• copy edge
• reflect across edge
Source: S. Marschner Source: Darrell, Berkeley
![Page 91: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/91.jpg)
Boundary issues
• What about near the edge?
– the filter window falls off the edge of the image
– need to extrapolate
– methods (MATLAB):
• clip filter (black): imfilter(f, g, 0)
• wrap around: imfilter(f, g, ‘circular’)
• copy edge: imfilter(f, g, ‘replicate’)
• reflect across edge: imfilter(f, g, ‘symmetric’)
Source: S. Marschner Source: Darrell, Berkeley
![Page 92: Filters - Bilkent Universityduygulu/Courses/CS554/Notes/Filters1.pdf · • Image filters in spatial domain –Filter is a mathematical operation of a grid of numbers –Smoothing,](https://reader030.vdocuments.site/reader030/viewer/2022040611/5eda1bdcb3745412b570c7bc/html5/thumbnails/92.jpg)
Borders
From Rick’s book Source: Torralba, MIT