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
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
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
2D DFT - ReviewFiltering in Frequency Domain
Another Example
Dr. Praveen Sankaran DIP Winter 2013
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
2D DFT - ReviewFiltering in Frequency Domain
Reconstruction Illustration - Phase Dominates!
Dr. Praveen Sankaran DIP Winter 2013
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
2D DFT - ReviewFiltering in Frequency Domain
Zero Padding - Importance
Dr. Praveen Sankaran DIP Winter 2013
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
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
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
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
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
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
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
2D DFT - ReviewFiltering in Frequency Domain
BasicsGaussiansFilters in Frequency Domain
The Issue with Padding
Dr. Praveen Sankaran DIP Winter 2013
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
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
2D DFT - ReviewFiltering in Frequency Domain
BasicsGaussiansFilters in Frequency Domain
Gaussian Example
Dr. Praveen Sankaran DIP Winter 2013
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
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
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
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
2D DFT - ReviewFiltering in Frequency Domain
BasicsGaussiansFilters in Frequency Domain
Example
Dr. Praveen Sankaran DIP Winter 2013
2D DFT - ReviewFiltering in Frequency Domain
BasicsGaussiansFilters in Frequency Domain
Image Blurring Example
Dr. Praveen Sankaran DIP Winter 2013
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
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
2D DFT - ReviewFiltering in Frequency Domain
BasicsGaussiansFilters in Frequency Domain
What about ringing?
Dr. Praveen Sankaran DIP Winter 2013
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
2D DFT - ReviewFiltering in Frequency Domain
BasicsGaussiansFilters in Frequency Domain
Output Example
Dr. Praveen Sankaran DIP Winter 2013
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
2D DFT - ReviewFiltering in Frequency Domain
BasicsGaussiansFilters in Frequency Domain
Highpass - Illustration
Dr. Praveen Sankaran DIP Winter 2013
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
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
2D DFT - ReviewFiltering in Frequency Domain
BasicsGaussiansFilters in Frequency Domain
Illustration
Dr. Praveen Sankaran DIP Winter 2013
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
Top Related