Image Filtering: Noise Removal, Sharpening, Deblurring Yao Wang Polytechnic University, Brooklyn, NY11201 http://eeweb.poly.edu/~yao Outline • • • • Noise removal by averaging filter Noise removal by median filter Sharpening (Edge enhancement) Deblurring ©Yao Wang, 2006 EE3414: Image Filtering 2 Noise Removal (Image Smoothing) • An image may be “dirty” (with dots, speckles,stains) • Noise removal: – To remove speckles/dots on an image – Dots can be modeled as impulses (salt-and-pepper or speckle) or continuously varying (Gaussian noise) – Can be removed by taking mean or median values of neighboring pixels (e.g. 3x3 window) – Equivalent to low-pass filtering • Problem with low-pass filtering – May blur edges – More advanced techniques: adaptive, edge preserving ©Yao Wang, 2006 EE3414: Image Filtering 3 Example ©Yao Wang, 2006 EE3414: Image Filtering 4 Averaging Filter • Replace each pixel by the average of pixels in a square window surrounding this pixel • Trade-off between noise removal and detail preserving: – Larger window -> can remove noise more effectively, but also blur the details/edges ©Yao Wang, 2006 EE3414: Image Filtering 5 Example: 3x3 average 100 100 100 100 100 100 200 205 203 100 100 195 200 200 100 100 200 205 195 100 100 100 100 100 100 ©Yao Wang, 2006 EE3414: Image Filtering 100 100 100 100 100 100 144 167 145 100 100 167 200 168 100 100 144 166 144 100 100 100 100 100 100 6 Example ©Yao Wang, 2006 EE3414: Image Filtering 7 Weighted Averaging Filter • Instead of averaging all the pixel values in the window, give the closer-by pixels higher weighting, and far-away pixels lower weighting. g (m, n) = L L ∑ ∑ h( k , l ) s ( m − k , n − l ) l =− L k =− L • This type of operation for arbitrary weighting matrices is generally called “2-D convolution or filtering”. When all the weights are positive, it corresponds to weighted average. • Weighted average filter retains low frequency and suppresses high frequency = low-pass filter ©Yao Wang, 2006 EE3414: Image Filtering 8 Graphical Illustration ©Yao Wang, 2006 EE3414: Image Filtering 9 Example Weighting Mask 1 × 9 1 1 1 1 1 1 1 1 1 1 × 16 1 2 1 2 4 2 1 2 1 All weights must sum to one ©Yao Wang, 2006 EE3414: Image Filtering 10 Example: Weighted Average 1 × 9 100 100 100 100 100 100 200 205 203 100 100 195 200 200 100 1 1 1 1 1 1 100 200 205 195 100 1 1 1 100 100 100 100 100 100 100 100 100 100 100 144 167 145 100 100 167 200 168 100 144 166 100 100 100 ©Yao Wang, 2006 1 × 16 1 2 1 2 4 2 1 2 1 100 100 100 100 100 100 156 176 158 100 100 100 174 201 175 100 144 100 100 156 175 156 100 100 100 100 100 100 100 100 EE3414: Image Filtering 11 Filtering in 1-D: a Review • Continuous-Time Signal ∞ Time Domain : g (t ) = s (t ) ∗ h(t ) = ∫ h(τ ) s (t −τ )dτ −∞ Frequency Domain : G ( f ) = S ( f ) H ( f ) ∞ Filter frequency response : H ( f ) = ∫ h(t )e − j 2πft dt −∞ • Extension to discrete time 1D signals Time Domain (linear convolution) : s (n) = s (n) ∗ h(n) = ∑ h(m) s (n − m) m Frequency Domain : G ( f ) = S ( f ) H ( f ) Filter frequency response (DTFT) : H ( f ) = ∑ h(n)e − j 2πfn n H ( f ) is periodic, only needs to look at the range f ∈ (-1/ 2 ,1/ 2 ) 1/2 corresponds to f s / 2 ©Yao Wang, 2006 EE3414: Image Filtering 12 Filtering in 2D Weighted averaging = 2D Linear Convolution l1 k1 g (m, n) = ∑ ∑ h(k , l ) s (m − k , n − l ) l =l0 k = k0 In 2D frequency domain G ( f1 , f 2 ) = S ( f1 , f 2 ) H ( f1 , f 2 ) Frequency response of the 2D Filter H ( f1 , f 2 ) = l1 k1 ∑ ∑ h(m, n)e − j 2π ( f1m + f 2 n ) m =l0 n = k 0 H ( f1 , f 2 ) is periodic, only needs to look at the square region f1 ∈ (−1 / 2,1 / 2), f 2 ∈ ( −1 / 2,1 / 2). ©Yao Wang, 2006 EE3414: Image Filtering 13 Frequency Response of Averaging Filters 0 0 1 h(m, n) = 0 9 0 0 • Averaging over a 3x3 window H ( f1 , f 2) = 1 9 1 + 9 1 = 9 1 = 9 + 0 1 1 1 0 0 1 1 1 0 ( 0 0 0 0 0 1 − j 2π ( f1 ⋅( −1) + f 2 ⋅( −1)) − j 2π ( f1 ⋅( 0 )+ f 2 ⋅( −1)) − j 2π ( f1 ⋅(1) + f 2 ⋅( −1)) e +e +e 9 (e − j 2π ( f1 ⋅( −1) + f 2 ⋅( 0 )) + e − j 2π ( f1 ⋅( 0 ) + f 2 ⋅( 0 )) + e − j 2π ( f1 ⋅(1) + f 2 ⋅( 0 )) (e − j 2π ( f1 ⋅( −1) + f 2 ⋅(1)) + e − j 2π ( f1 ⋅( 0 ) + f 2 ⋅(1)) + e − j 2π ( f1 ⋅(1)+ f 2 ⋅(1)) (e j 2πf1 + 1 + e − j 2πf1 e j 2πf 2 + (e j 2πf1 + 1 + e − j 2πf1 e j 2πf 2 ©Yao Wang, 2006 0 1 1 1 0 ) )( ( ) ) ) ) ( ) 1 j 2πf1 1 e + 1 + e − j 2πf1 ⋅1 + e j 2πf1 + 1 + e − j 2πf1 e − j 2πf 2 9 9 1 + 1 + e − j 2πf 2 = (1 + 2 cos 2πf1 )(1 + 2 cos 2πf 2 ) 9 ) EE3414: Image Filtering 14 H ( f1 , f 2 ) = H ( f1 ) H ( f 2 ) H ( f1 ) = 1 (1 + 2 cos 2πf1 ), H ( f 2 ) = 1 (1 + 2 cos 2πf 2 ) 3 3 Sketch H(f1) 1 0.5 0 -0.5 30 20 10 0 ©Yao Wang, 2006 EE3414: Image Filtering 0 5 10 15 20 25 15 Frequency Response of Weighted Averaging Filters 1 1 1 b = b [1 b 1]; 2 (1 + b) 1 1 H (u , v) = (b + 2 cos(2πu ) )(b + 2 cos(2πv) ) /(1 + b) 2 1 b 1 2 b b H= (1 + b) 2 1 b 1 0.8 0.6 0.4 0.2 0 30 20 10 0 ©Yao Wang, 2006 0 5 10 15 20 25 EE3414: Image Filtering 16 Averaging vs. Weighted Averaging 1 1 1 1 1 H = 1 1 1 = 1[1 1 1]; 9 1 1 1 1 H (u , v) = (1 + 2 cos(2πu ) )(1 + 2 cos(2πv) ) / 9 1 b 1 H= b b2 2 (1 + b) 1 b 1 1 1 b [1 b 1]; b = (1 + b) 2 1 1 H (u , v) = (b + 2 cos(2πu ) )(b + 2 cos(2πv) ) /(1 + b) 2 1 1 0.8 0.5 0.6 0 0.4 0.2 -0.5 30 20 10 0 0 5 10 15 20 25 0 30 20 10 0 0 5 10 15 20 25 b=2 ©Yao Wang, 2006 EE3414: Image Filtering 17 Interpretation in Freq Domain Filter response Low-passed image spectrum Original image spectrum Noise spectrum 0 f Noise typically spans entire frequency range, where as natural images have predominantly lower frequency components ©Yao Wang, 2006 EE3414: Image Filtering 18 Median Filter • Problem with Averaging Filter – Blur edges and details in an image – Not effective for impulse noise (Salt-and-pepper) • Median filter: – Taking the median value instead of the average or weighted average of pixels in the window • Median: sort all the pixels in an increasing order, take the middle one – The window shape does not need to be a square – Special shapes can preserve line structures • Order-statistics filter – Instead of taking the mean, rank all pixel values in the window, take the n-th order value. – E.g. max or min ©Yao Wang, 2006 EE3414: Image Filtering 19 Example: 3x3 Median 100 100 100 100 100 100 200 205 203 100 100 195 200 200 100 100 200 205 195 100 100 100 100 100 100 100 100 100 100 100 100 100 200 100 100 100 200 200 200 100 100 100 195 100 100 100 100 100 100 100 Matlab command: medfilt2(A,[3 3]) ©Yao Wang, 2006 EE3414: Image Filtering 20 Example ©Yao Wang, 2006 EE3414: Image Filtering 21 Matlab Demo: nrfiltdemo Original Image Corrupted Image Filtered Image Can choose between mean, median and adaptive (Wiener) filter with different window size ©Yao Wang, 2006 EE3414: Image Filtering 22 Noise Removal by Averaging Multiple Images ©Yao Wang, 2006 EE3414: Image Filtering 23 Image Sharpening • Sharpening : to enhance line structures or other details in an image • Enhanced image = original image + scaled version of the line structures and edges in the image • Line structures and edges can be obtained by applying a difference operator (=high pass filter) on the image • Combined operation is still a weighted averaging operation, but some weights can be negative, and the sum=1. • In frequency domain, the filter has the “highemphasis” character ©Yao Wang, 2006 EE3414: Image Filtering 24 Frequency Domain Interpretation Filter response (high emphasis) sharpened image spectrum Original image spectrum 0 ©Yao Wang, 2006 EE3414: Image Filtering f 25 Highpass Filters • Spatial operation: taking difference between current and averaging (weighted averaging) of nearby pixels – Can be interpreted as weighted averaging = linear convolution – Can be used for edge detection • Example filters 0 1 0 0 − 1 0 1 − 4 1; − 1 4 − 1; 0 1 0 0 − 1 0 1 1 1 − 1 − 1 − 1 1 − 8 1; − 1 8 − 1; 1 1 1 − 1 − 1 − 1 – All coefficients sum to 0! ©Yao Wang, 2006 EE3414: Image Filtering 26 Example Highpass Filters 0 −1 0 − 1 4 − 1 0 − 1 0 − 1 − 1 − 1 − 1 8 − 1 − 1 − 1 − 1 8 12 6 10 4 8 6 2 4 0 30 2 0 30 20 10 0 0 ©Yao Wang, 2006 5 10 15 20 20 25 10 0 EE3414: Image Filtering 0 5 10 15 20 25 27 Example of Highpass Filtering Original image ©Yao Wang, 2006 Isotropic edge detection EE3414: Image Filtering Binary image 28 Designing Sharpening Filter Using High Pass Filters • The desired image is the original plus an appropriately scaled high-passed image • Sharpening filter f s = f + λf h hs (m, n) = δ (m, n) + λhh (m, n) x x x ©Yao Wang, 2006 fs(x)=f(x)+ag(x) g(x)=f(x)*hh(x) f(x) EE3414: Image Filtering 29 Example Sharpening Filters fs(x)=f(x)+ag(x) g(x)=f(x)*hh(x) f(x) x x x 0 −1 0 0 −1 0 1 1 H h = − 1 4 − 1 ⇒ H s = − 1 8 − 1 with λ = 1. 4 4 0 − 1 0 0 − 1 0 − 1 − 1 − 1 − 1 − 1 − 1 1 1 H h = − 1 8 − 1 ⇒ H s = − 1 16 − 1 with λ = 1. 8 8 − 1 − 1 − 1 − 1 − 1 − 1 ©Yao Wang, 2006 EE3414: Image Filtering 30 Example of Sharpening − 1 − 1 − 1 1 H h = − 1 8 − 1 4 − 1 − 1 − 1 − 1 − 1 − 1 1 H s = − 1 16 − 1 8 − 1 − 1 − 1 ©Yao Wang, 2006 EE3414: Image Filtering 31 Example of Sharpening λ=4 λ =8 ©Yao Wang, 2006 EE3414: Image Filtering 32 Challenges of Noise Removal and Image Sharpening • How to smooth the noise without blurring the details too much? • How to enhance edges without amplifying noise? • Still a active research area ©Yao Wang, 2006 EE3414: Image Filtering 33 Wavelet-Domain Filtering Courtesy of Ivan Selesnick ©Yao Wang, 2006 EE3414: Image Filtering 34 Feature Enhancement by Subtraction Taking an image without injecting a contrast agent first. Then take the image again after the organ is injected some special contrast agent (which go into the bloodstreams only). Then subtract the two images --- A popular technique in medical imaging ©Yao Wang, 2006 EE3414: Image Filtering 35 Image Deblurring • Noise removal considered thus far assumes the image is corrupted by additive noise – Each pixel is corrupted by a noise value, independent of neighboring pixels • Image blurring – When the camera moves while taking a picture – Or when the object moves – Each pixel value is the sum of surrounding pixels The blurred image is a filtered version of the original • Deblurring methods: • Inverse filter: can adversely amplify noise • Wiener filter = generalized inverse filter • Many advanced adaptive techniques ©Yao Wang, 2006 EE3414: Image Filtering 36 Example of Motion Blur ©Yao Wang, 2006 EE3414: Image Filtering 37 Inverse Filtering vs. Wiener Filtering ©Yao Wang, 2006 EE3414: Image Filtering 38 Constrained Least Squares Filtering ©Yao Wang, 2006 EE3414: Image Filtering 39 What Should You Know • • • • • • How does averaging and weighted averaging filter works? How does median filter works? What method is better for additive Gaussian noise? What method is better for salt-and-pepper noise? How does high-pass filtering and sharpening work? For smoothing and sharpening: – Can perform spatial filtering using given filters – Deriving frequency response is not required, but should know the desired shape for the frequency responses in different applications • What is the challenge in noise removal and sharpening? • What causes blurring? • Principle of deblurring: technical details not required ©Yao Wang, 2006 EE3414: Image Filtering 40 References Gonzalez and Woods, Digital image processing, 2nd edition, Prentice Hall, 2002. Chap 4 Sec 4.3, 4.4; Chap 5 Sec 5.1 – 5.3 (pages 167-184 and 220-243) ©Yao Wang, 2006 EE3414: Image Filtering 41
© Copyright 2026 Paperzz