Filters A filter is something that attenuates or enhances particular frequencies Easiest to visualize in the frequency domain where filtering is defined as multiplication H F G 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 02 12 02 c 2002 University of Wisconsin CS 559 Qualitative Filters Function F 02 12 02 Filter G Result H Low pass High pass Band pass c 2002 University of Wisconsin CS 559 Low Pass Filtered Image 02 12 02 c 2002 University of Wisconsin CS 559 High Pass Filtered Image 02 12 02 c 2002 University of Wisconsin CS 559 Filtering in the Spatial Domain Filtering the spatial domain is achieved by convolution h x f g f u g x u du Qualitatively Slide the filter to each position x then sum up the function multiplied by the filter at that position 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 02 12 02 1 1 1 1 1 1 1 9 1 1 1 c 2002 University of Wisconsin CS 559 Box Filter 1 1 1 1 1 1 1 9 1 1 1 Box filters smooth by averaging neighbors In frequency domain keeps low frequencies and attenuates reduces high frequencies so clearly a low pass filter Spatial Box 02 12 02 Frequency sinc c 2002 University of Wisconsin CS 559 Box Filter 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 I output x y k 2 k 2 I input x i y j M i k 2 j k 2 i k 2 j k 2 Care must taken at the boundary Make the output image smaller Extend the input image in some way 02 12 02 c 2002 University of Wisconsin CS 559 Bartlett Filter 1 2 1 3 81 2 1 Triangle shaped filter in spatial domain In frequency domain product of two box filters so attenuates high frequencies more than a box Spatial Triangle Box Box 02 12 02 Frequency sinc2 c 2002 University of Wisconsin CS 559 2 3 2 1 4 6 4 2 6 9 6 3 4 6 4 2 2 3 2 1 Constructing Masks 1D Sample the filter function at matrix pixels eg 2D Bartlett 1 5 0 1 1 3 1 2 Can go to edge of pixel or middle of next results are slightly different 1 1 2 1 4 02 12 02 c 2002 University of Wisconsin CS 559 Constructing Masks 2D Multiply 2 1D masks together using outer product M i j m i m j M is 2D mask m is 1D mask 0 2 0 6 0 2 0 2 0 04 0 12 0 04 0 6 0 12 0 36 0 12 0 2 0 04 0 12 0 04 02 12 02 c 2002 University of Wisconsin CS 559 Bartlett Filter 02 12 02 c 2002 University of Wisconsin CS 559 Guassian Filter 1 4 6 4 1 4 16 24 16 4 1 6 24 36 24 6 256 4 16 24 16 4 1 4 6 4 1 Attenuates high frequencies even further In 2d rotationally symmetric so fewer artifacts 1 e 2 02 12 02 x2 2 c 2002 University of Wisconsin CS 559 Gaussian Filter 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 64 02 12 02 1 4 1 2 1 1 16 1 4 6 4 1 1 6 15 20 15 6 c 2002 University of Wisconsin CS 559 1 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 0 0 0 1 2 1 1 2 1 0 1 0 1 2 4 2 1 2 12 2 16 16 0 0 0 1 2 1 1 2 1 02 12 02 c 2002 University of Wisconsin CS 559 High Pass Filter 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 02 12 02 c 2002 University of Wisconsin CS 559 Edge Enhance Filter 02 12 02 c 2002 University of Wisconsin CS 559 Edge Enhancement 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 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 I out x I in f x 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 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 02 12 02 c 2002 University of Wisconsin CS 559 2D Reduction Example Bartlett 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 02 12 02 c 2002 University of Wisconsin CS 559
View Full Document
Unlocking...