Top Banner
02/12/02 (c) 2002 University of Wiscon sin, CS 559 Filters •A filter is something that attenuates or enhances particular frequencies Easiest to visualize in the frequency domain, where filtering is defined as multiplication: • Here, F is the spectrum of the function, G is the spectrum of the filter, and H is the filtered function. Multiplication is point-wise ) ( ) ( ) ( G F H
26

02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

Dec 23, 2015

Download

Documents

Elaine Ray
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Filters

• A filter is something that attenuates or enhances particular frequencies

• Easiest to visualize in the frequency domain, where filtering is defined as multiplication:

• Here, F is the spectrum of the function, G is the spectrum of the filter, and H is the filtered function. Multiplication is point-wise

)()()( GFH

Page 2: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Qualitative Filters

Function: F Filter: G

=

=

=

Result: H

Low-pass

High-pass

Band-pass

Page 3: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Low-Pass Filtered Image

Page 4: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

High-Pass Filtered Image

Page 5: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Filtering in the Spatial Domain

• Filtering the spatial domain is achieved by convolution

• Qualitatively: Slide the filter to each position, x, then sum up the function multiplied by the filter at that position

duuxgufgfxh )()()(

Page 6: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Filtering Images

• Work in the discrete spatial domain

• Convert the filter into a matrix, the filter mask

• Move the matrix over each point in the image, multiply the entries by the pixels below, then sum– eg 3x3 box filter

– averages

111

111

111

9

1

Page 7: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Box Filter

• Box filters smooth by averaging neighbors• In frequency domain, keeps low frequencies and attenuates (reduces)

high frequencies, so clearly a low-pass filter

111

111

111

9

1

Spatial: Box Frequency: sinc

Page 8: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Box Filter

Page 9: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Filtering Algorithm

• If Iinput is the input image, and Ioutput is the output image, M is the filter mask and k is the mask size:

• Care must taken at the boundary– Make the output image smaller

– Extend the input image in some way

2/

2/

2/

2/

]2/][2/[]][[]][[k

ki

k

kjinputoutput kjkiMjyixIyxI

Page 10: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Bartlett Filter

• Triangle shaped filter in spatial domain

• In frequency domain, product of two box filters, so attenuates high frequencies more than a box

12321

24642

36963

24642

12321

81

1

Spatial: Triangle (BoxBox) Frequency: sinc2

Page 11: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Constructing Masks: 1D

• Sample the filter function at matrix “pixels”• eg 2D Bartlett

• Can go to edge of pixel or middle of next: results are slightly different

0 1 2

1 3 11

5

1 2 11

4

Page 12: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Constructing Masks: 2D

• Multiply 2 1D masks together using outer product

• M is 2D mask, m is 1D mask

][][]][[ jmimjiM 0.2 0.6 0.2

0.2

0.6

0.2

0.04 0.12 0.04

0.120.360.12

0.04 0.12 0.04

Page 13: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Bartlett Filter

Page 14: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Guassian Filter

• Attenuates high frequencies even further

• In 2d, rotationally symmetric, so fewer artifacts

-0. 02

0. 03

0. 08

0. 13

0. 18

-0. 02

0. 03

0. 08

0. 13

0. 18

2

2

2

1 x

e

14641

41624164

62436246

41624164

14641

256

1

Page 15: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Gaussian Filter

Page 16: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Constructing Gaussian Mask

• Use the binomial coefficients– Central Limit Theorem (probability) says that with more samples,

binomial converges to Gaussian

1 2 11

4

1 4 616

14 1

1 6 1564

120 15 6 1

Page 17: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

High-Pass Filters

• A high-pass filter can be obtained from a low-pass filter– If we subtract the smoothed image from the original, we must be

subtracting out the low frequencies

– What remains must contain only the high frequencies

• High-pass masks come from matrix subtraction:

• eg: 3x3 Bartlett

121

2122

121

16

1

121

242

121

16

1

000

010

000

Page 18: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

High-Pass Filter

Page 19: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Edge Enhancement

• High-pass filters give high values at edges, low values in constant regions

• Adding high frequencies back into the image enhances edges

• One approach:– Image = Image + [Image – smooth(Image)]

Low-pass

High-pass

Page 20: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Edge-Enhance Filter

Page 21: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Edge Enhancement

Page 22: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Fixing Negative Values

• The negative values in high-pass filters can lead to negative image values– Most image formats don’t support this

• Solutions:– Truncate: Chop off values below min or above max

– Offset: Add a constant to move the min value to 0

– Re-scale: Rescale the image values to fill the range (0,max)

Page 23: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Image Warping

• An image warp is a mapping from the points in one image to points in another

• f tells us where in the new image to put the data from x in the old image– Simple example: Translating warp, f(x) = x+o, shifts an image

)]([][ xx fII inout

Page 24: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Reducing Image Size

• Warp function: f(x)=kx, k > 1

• Problem: More than one input pixel maps to each output pixel

• Solution: Filter down to smaller size– Apply the filter, but not at every pixel, only at desired output

locations

– eg: To get half image size, only apply filter at every second pixel

Page 25: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

2D Reduction Example (Bartlett)

Page 26: 02/12/02 (c) 2002 University of Wisconsin, CS 559 Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize.

02/12/02 (c) 2002 University of Wisconsin, CS 559

Ideal Image Size Reduction

• Reconstruct original function using reconstruction filter

• Resample at new resolution (lower frequency)– Clearly demonstrates that shrinking removes detail

• Expensive, and not possible to do perfectly in the spatial domain