+ All Categories
Home > Documents > Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters...

Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters...

Date post: 23-May-2018
Category:
Upload: hatuong
View: 230 times
Download: 0 times
Share this document with a friend
36
Transcript
Page 1: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

Filtering in Frequency Domain

Dr. Praveen Sankaran

Department of ECE

NIT Calicut

February 4, 2013

Dr. Praveen Sankaran DIP Winter 2013

Page 2: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

Outline

1 2D DFT - Review

2 Filtering in Frequency Domain

Basics

Gaussians

Filters in Frequency Domain

Dr. Praveen Sankaran DIP Winter 2013

Page 3: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

2D Sampling

2D Impulse Train

s [t,z ] =∞

∑m=−∞

∑n=−∞

δ [t−m∆T , z−n∆Z ] (1)

f (t,z)s [t,z ]⇒ sampled function.

Dr. Praveen Sankaran DIP Winter 2013

Page 4: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

Another Example

Dr. Praveen Sankaran DIP Winter 2013

Page 5: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

2D DFT

F [u,v ] =M−1

∑m=0

N−1

∑n=0

f [m,n]e−j2π(um/M+vn/N) (2)

f [.] is a digital image of size M×N.

u = 0,1, · · ·M−1 and v = 0,1, · · ·N−1.

Inverse DFT

f [m,n] =1

MN

M−1

∑u=0

N−1

∑v=0

F [u,v ]e j2π(um/M+vn/N) (3)

m = 0,1, · · ·M−1 and n = 0,1, · · ·N−1.

Dr. Praveen Sankaran DIP Winter 2013

Page 6: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

Reconstruction Illustration - Phase Dominates!

Dr. Praveen Sankaran DIP Winter 2013

Page 7: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

2D Convolution Theorem

f [m,n]?h [m,n] =M−1

∑j=0

N−1

∑k=0

f [j ,k]h [m− j ,n−k] (4)

f [m,n]?h [m,n]⇐⇒ F [u,v ]H [u,v ] (5)

f [m,n]h [m,n]⇐⇒ F [u,v ]?H [u,v ] (6)

Equation 5 is of particular importance to us. A spatial convolution

can be expressed as a product in frequency domain. This means

that all the linear �ltering we discussed before as convolutions can

now be easily understood as products.

Dr. Praveen Sankaran DIP Winter 2013

Page 8: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

Zero Padding - Importance

Dr. Praveen Sankaran DIP Winter 2013

Page 9: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

DFT Periodic - Remember!

Remember that we considered just a very speci�c period of the

Fourier Transform, sampled it and obtained the DFT. But

practically we always have to deal with what is present - the

periodic structures when we compute the IDFT. When we �nd a

product of two DFT's, inherently we are convolving two periodic

structures in original domain.

Suppose the function f [.] has A number of samples and function

h [.] has B number of samples, we de�ne a variable,

P ≥ A+B−1 (7)

Append zeros to both functions so that they have the same

length, P → zero padding.

Dr. Praveen Sankaran DIP Winter 2013

Page 10: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

DFT Periodic - Remember!

Remember that we considered just a very speci�c period of the

Fourier Transform, sampled it and obtained the DFT. But

practically we always have to deal with what is present - the

periodic structures when we compute the IDFT. When we �nd a

product of two DFT's, inherently we are convolving two periodic

structures in original domain.

Suppose the function f [.] has A number of samples and function

h [.] has B number of samples, we de�ne a variable,

P ≥ A+B−1 (7)

Append zeros to both functions so that they have the same

length, P → zero padding.

Dr. Praveen Sankaran DIP Winter 2013

Page 11: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Outline

1 2D DFT - Review

2 Filtering in Frequency Domain

Basics

Gaussians

Filters in Frequency Domain

Dr. Praveen Sankaran DIP Winter 2013

Page 12: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

What does Filtering Involve?

Modify Fourier Transform.

Compute the Inverse Transform.

g [m,n] = ℑ−1 {H [u,v ]F [u,v ]} (8)

H [u,v ]→ �lter function, generally symmetric to simplify

computation.

F [.] , g [.] , H [.] are of size M×N.

pixel-by-pixel multiplication.

Symmetry of the �lter implies that the function F [.] shouldalso be centered.

Dr. Praveen Sankaran DIP Winter 2013

Page 13: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

What does Filtering Involve?

Modify Fourier Transform.

Compute the Inverse Transform.

g [m,n] = ℑ−1 {H [u,v ]F [u,v ]} (8)

H [u,v ]→ �lter function, generally symmetric to simplify

computation.

F [.] , g [.] , H [.] are of size M×N.

pixel-by-pixel multiplication.

Symmetry of the �lter implies that the function F [.] shouldalso be centered.

Dr. Praveen Sankaran DIP Winter 2013

Page 14: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

What does Filtering Involve?

Modify Fourier Transform.

Compute the Inverse Transform.

g [m,n] = ℑ−1 {H [u,v ]F [u,v ]} (8)

H [u,v ]→ �lter function, generally symmetric to simplify

computation.

F [.] , g [.] , H [.] are of size M×N.

pixel-by-pixel multiplication.

Symmetry of the �lter implies that the function F [.] shouldalso be centered.

Dr. Praveen Sankaran DIP Winter 2013

Page 15: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Zero Padding - Again!

Consider `b', blurring is not uniform. Side edges should have

grayed out.

Zero padding solves the issue in `c'

Dr. Praveen Sankaran DIP Winter 2013

Page 16: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

The Issue with Padding

Dr. Praveen Sankaran DIP Winter 2013

Page 17: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Filtering Strategy

1 P = 2M, Q = 2N → padding parameters.

2 g [m,n]→ gp [p,q] of size P×Q.

3 gcp [p,q] = gp [p,q]× (−1)m+n.

4 Compute DFT of gcp [p,q]⇒ G [u,v ].

5 Real, symmetric �ltering function, H [u,v ] of size P×Q.

6 Go [u,v ] = H [u,v ]F [u,v ]

7 Obtain processed image,

gop [p,q] ={real

[ℑ−1 [Go [u,v ]]

]}(−1)m+n (9)

8 go [m,n]→ extract M×N region from the top, left quadrant

of gop [p,q].

Dr. Praveen Sankaran DIP Winter 2013

Page 18: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Outline

1 2D DFT - Review

2 Filtering in Frequency Domain

Basics

Gaussians

Filters in Frequency Domain

Dr. Praveen Sankaran DIP Winter 2013

Page 19: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Gaussian Example

Dr. Praveen Sankaran DIP Winter 2013

Page 20: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Options Available

Specify �lter in frequency domain, compute its IDFT, and then

use the resulting, full size spatial �lter as a guide for

constructing smaller spatial �lter mask.

Small spatial �lter is given and we obtain its full size frequency

domain representation.

Dr. Praveen Sankaran DIP Winter 2013

Page 21: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Gaussian Pair

H [u] = Ae−u2/2σ2 (10)

h [x ] =√2πσAe−2π2σ2x2 (11)

Both are Gaussian

Both Real

σ large → H [u] tends to constant → h [x ] tends to impulse →less �ltering.

More complex �lters can be designed as a mixture of

Gaussians - (e.g. sum or di�erence).

Dr. Praveen Sankaran DIP Winter 2013

Page 22: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Outline

1 2D DFT - Review

2 Filtering in Frequency Domain

Basics

Gaussians

Filters in Frequency Domain

Dr. Praveen Sankaran DIP Winter 2013

Page 23: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Ideal Low Pass Filter

2D low pass �lter that passes without attenuation all

frequencies within a circle of radius D0 from the origin.

Cuts o� all frequencies outside this circle.

H [u,v ] =

{1 D [u,v ]≤ D0

0 D [u,v ] > D0

(12)

D [u,v ] =[(u−P/2)2 + (v −Q/2)2

]1/2

Dr. Praveen Sankaran DIP Winter 2013

Page 24: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Example

Dr. Praveen Sankaran DIP Winter 2013

Page 25: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Image Blurring Example

Dr. Praveen Sankaran DIP Winter 2013

Page 26: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Issue with ILPF

Ringing

A box �lter in frequency domain will look like a sinc function

in the spatial domain.

Filtering using this function is equivalent to convolving in the

spatial domain.

The smaller lobes of the sinc causes the ringing.

Dr. Praveen Sankaran DIP Winter 2013

Page 27: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Butterworth Low-Pass Filter

Idea → smoothen the function.

H [u,v ] =1

1+ [D[u,v ]/D0]2n

(13)

We have seen variable D [.] before.

Dr. Praveen Sankaran DIP Winter 2013

Page 28: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

What about ringing?

Dr. Praveen Sankaran DIP Winter 2013

Page 29: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Gaussian Low Pass Filtering

H [u,v ] = e−D2[u,v ]/2σ2 = e

−D2[u,v ]/2D20 (14)

No ringing.

Dr. Praveen Sankaran DIP Winter 2013

Page 30: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Output Example

Dr. Praveen Sankaran DIP Winter 2013

Page 31: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Highpass Filters

HHP [.] = 1−HLP [.] (15)

Ideal

H [u,v ] =

{0 D [u,v ]≤ D0

1 D [u,v ] > D0

(16)

Butterworth

H [u,v ] =1

1+ [D0/D[u,v ]]2n(17)

Gaussian

H [u,v ] = 1− e−D2[u,v ]/2D20 (18)

Dr. Praveen Sankaran DIP Winter 2013

Page 32: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Highpass - Illustration

Dr. Praveen Sankaran DIP Winter 2013

Page 33: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Unsharp Masking

Mask

imask [x ,y ] = f [x ,y ]−fLP [x ,y ] = f [x ,y ]−ℑ−1 {HLP [u,v ]F [u,v ]}

(19)

Final image

f′[x ,y ] = f [x ,y ] +k× imask [x ,y ] (20)

= f [x ,y ] +k× [f [x ,y ]−ℑ−1 {HLP [u,v ]F [u,v ]}]

(21)

= ℑ−1 {[1+k× [1−HLP [u,v ]]]F [u,v ]} (22)

= ℑ−1 {[1+k×HHP [u,v ]]F [u,v ]} (23)

k = 1? k > 1?

Dr. Praveen Sankaran DIP Winter 2013

Page 34: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

High frequency Emphasis Filter

HE [u,v ] = 1+k×HHP [u,v ] (24)

1 in the equation provides an o�set.

Does not eliminate the dc term → preserves tonality.

More generalized form

HE [u,v ] = k1 +k2×HHP [u,v ] (25)

k1 ≥ 0, controls o�set from the zero, thus controlling dc term.

k2 ≥ 0 controls contribution of high frequencies.

Dr. Praveen Sankaran DIP Winter 2013

Page 35: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Illustration

Dr. Praveen Sankaran DIP Winter 2013

Page 36: Filtering in Frequency Domain · Filtering in Frequency Domain Basics ... Basics Gaussians Filters in Frequency Domain ... 4.23, 4.26, 4.28, 4.33 4.31, 4.32 Dr. Praveen Sankrana DIP

2D DFT - ReviewFiltering in Frequency Domain

BasicsGaussiansFilters in Frequency Domain

Questions

4.4, 4.6, 4.7, 4.12, 4.13, 4.15, 4.17(look at 4.3 as reference).

4.21, 4.22, 4.23, 4.26, 4.28, 4.33

4.31, 4.32

Dr. Praveen Sankaran DIP Winter 2013


Recommended