Lecture slides
Download
Report
Transcript Lecture slides
EE 4780
2D Discrete Fourier Transform (DFT)
2D Discrete Fourier Transform
2D Fourier Transform
F (u , v)
f [m, n]e j 2 (um vn )
m n
2D Discrete Fourier Transform (DFT)
1
F [k , l ]
MN
M 1 N 1
f [m, n]e
l
k
j 2 m n
N
M
m0 n 0
2D DFT is a sampled version of 2D FT.
Bahadir K. Gunturk
2
2D Discrete Fourier Transform
2D Discrete Fourier Transform (DFT)
1
F [k , l ]
MN
M 1 N 1
f [m, n]e
l
k
j 2 m n
N
M
m0 n 0
where k 0,1,..., M 1 and l 0,1,..., N 1
Inverse DFT
M 1 N 1
f [m, n] F [k , l ]e
l
k
j 2 m n
N
M
k 0 l 0
Bahadir K. Gunturk
3
2D Discrete Fourier Transform
It is also possible to define DFT as follows
F [k , l ]
1
MN
M 1 N 1
f [m, n]e
l
k
j 2 m n
N
M
m0 n 0
where k 0,1,..., M 1 and l 0,1,..., N 1
Inverse DFT
f [m, n]
Bahadir K. Gunturk
1
MN
M 1 N 1
F[k , l ]e
l
k
j 2 m n
N
M
k 0 l 0
4
2D Discrete Fourier Transform
Or, as follows
M 1 N 1
F [k , l ] f [m, n]e
l
k
j 2 m n
N
M
m0 n 0
where k 0,1,..., M 1 and l 0,1,..., N 1
Inverse DFT
1
f [m, n]
MN
Bahadir K. Gunturk
M 1 N 1
F[k , l ]e
l
k
j 2 m n
N
M
k 0 l 0
5
2D Discrete Fourier Transform
Bahadir K. Gunturk
6
2D Discrete Fourier Transform
Bahadir K. Gunturk
7
2D Discrete Fourier Transform
Bahadir K. Gunturk
8
2D Discrete Fourier Transform
Bahadir K. Gunturk
9
Periodicity
[M,N] point DFT is periodic with period [M,N]
F [k , l ]
1
MN
M 1 N 1
f [m, n]e
l
k
j 2 m n
N
M
m0 n 0
1
F [k M , l N ]
MN
M 1 N 1
1
MN
M 1 N 1
f [m, n]e
lN
k M
j 2
m
n
N
M
1
m0 n 0
f [m, n]e
l
N
k
M
j 2 m n j 2 m n
N
N
M
M
e
m 0 n 0
F [k , l ]
Bahadir K. Gunturk
10
Periodicity
[M,N] point DFT is periodic with period [M,N]
M 1 N 1
f [m, n] F [k , l ]e
l
k
j 2 m n
N
M
k 0 l 0
M 1 N 1
f [m M , n N ] F [k , l ]e
l
k
j 2 ( m M ) ( n N )
N
M
k 0 l 0
M 1 N 1
F [k , l ]e
1
l
k
j 2 m n
N
M
e
l
k
j 2 M N
N
M
k 0 l 0
f [m, n]
Bahadir K. Gunturk
11
Convolution
Be careful about the convolution property!
f [m]* g[m] F [k ]G[k ]
f [ m]
m
Length=P
f [m]* g[m]
g[ m]
*
m
Length=Q
m
Length=P+Q-1
For the convolution property to hold, M must be greater
than or equal to P+Q-1.
Bahadir K. Gunturk
12
Convolution
f [m]* g[m] F [k ]G[l ]
Zero padding
f [ m]
f [m]* g[m]
g[ m]
m
*
m
m
4-point DFT
(M=4)
F [k ]
Bahadir K. Gunturk
G[ k ]
F [k ]G[k ]
13
DFT in MATLAB
Let f be a 2D image with dimension [M,N], then its 2D DFT
can be computed as follows:
Df = fft2(f,M,N);
puts the zero-frequency component at the top-left
corner.
fftshift shifts the zero-frequency component to the center.
(Useful for visualization.)
Example:
fft2
f = imread(‘saturn.tif’); f = double(f);
Df = fft2(f,size(f,1), size(f,2));
figure; imshow(log(abs(Df)),[ ]);
Df2 = fftshift(Df);
figure; imshow(log(abs(Df2)),[ ]);
Bahadir K. Gunturk
14
DFT in MATLAB
f
Df = fft2(f)
After fftshift
Bahadir K. Gunturk
15
DFT in MATLAB
Let’s test convolution property
f = [1 1];
g = [2 2 2];
Conv_f_g = conv2(f,g); figure; plot(Conv_f_g);
Dfg = fft (Conv_f_g,4); figure; plot(abs(Dfg));
Df1 = fft (f,3);
Dg1 = fft (g,3);
Dfg1 = Df1.*Dg1; figure; plot(abs(Dfg1));
Df2 = fft (f,4);
Dg2 = fft (g,4);
Dfg2 = Df2.*Dg2; figure; plot(abs(Dfg2));
Inv_Dfg2 = ifft(Dfg2,4);
figure; plot(Inv_Dfg2);
Bahadir K. Gunturk
16
DFT in MATLAB
Increasing the DFT size
f = [1 1];
g = [2 2 2];
Df1 = fft (f,4);
Dg1 = fft (g,4);
Dfg1 = Df1.*Dg1; figure; plot(abs(Dfg1));
Df2 = fft (f,20);
Dg2 = fft (g,20);
Dfg2 = Df2.*Dg2; figure; plot(abs(Dfg2));
Df3 = fft (f,100);
Dg3 = fft (g,100);
Dfg3 = Df3.*Dg3; figure; plot(abs(Dfg3));
Bahadir K. Gunturk
17
DFT in MATLAB
Scale axis and use fftshift
f = [1 1];
g = [2 2 2];
Df1 = fft (f,100);
Dg1 = fft (g,100);
Dfg1 = Df1.*Dg1;
t = linspace(0,1,length(Dfg1));
figure; plot(t, abs(Dfg1));
Dfg1_shifted = fftshift(Dfg1);
t2 = linspace(-0.5, 0.5, length(Dfg1_shifted));
figure; plot(t, abs(Dfg1_shifted));
Bahadir K. Gunturk
18
Example
Bahadir K. Gunturk
19
Example
Bahadir K. Gunturk
20
DFT-Domain Filtering
a = imread(‘cameraman.tif');
Da = fft2(a);
Da = fftshift(Da);
figure; imshow(log(abs(Da)),[]);
H = zeros(256,256);
H(128-20:128+20,128-20:128+20) = 1;
figure; imshow(H,[]);
H
Db = Da.*H;
Db = fftshift(Db);
b = real(ifft2(Db));
figure; imshow(b,[]);
Frequency domain
Bahadir K. Gunturk
Spatial domain
21
Low-Pass Filtering
61x61
Bahadir K. Gunturk
81x81
121x121
22
Low-Pass Filtering
h
*
1 1 1
1
1 1 1
9
1 1 1
=
DFT(h)
Bahadir K. Gunturk
23
High-Pass Filtering
h
*
1 1 1
1 8 1
1 1 1
=
DFT(h)
Bahadir K. Gunturk
24
High-Pass Filtering
High-pass filter
Bahadir K. Gunturk
25
Anti-Aliasing
a=imread(‘barbara.tif’);
Bahadir K. Gunturk
26
Anti-Aliasing
a=imread(‘barbara.tif’);
b=imresize(a,0.25);
c=imresize(b,4);
Bahadir K. Gunturk
27
Anti-Aliasing
a=imread(‘barbara.tif’);
b=imresize(a,0.25);
c=imresize(b,4);
H=zeros(512,512);
H(256-64:256+64, 256-64:256+64)=1;
Da=fft2(a);
Da=fftshift(Da);
Dd=Da.*H;
Dd=fftshift(Dd);
d=real(ifft2(Dd));
Bahadir K. Gunturk
28
Noise Removal
For natural images, the energy is concentrated mostly in
the low-frequency components.
“Einstein”
DFT of “Einstein”
Profile along the red line
Signal vs Noise
Noise=40*rand(256,256);
Bahadir K. Gunturk
29
Noise Removal
At high-frequencies, noise power is comparable to the
signal power.
Signal vs Noise
Low-pass filtering increases signal to noise ratio.
Bahadir K. Gunturk
30
Appendix
Bahadir K. Gunturk
31
Appendix: Impulse Train
■ The Fourier Transform of a comb function is
F combM , N [m, n]
combM , N [m, n]e
j 2 um vn
m n
j 2 umvn
[m kM , n lN ] e
m n k l
j 2 um vn
[m kM , n lN ]e
k l m n
Bahadir K. Gunturk
j 2 ukM vlN
e
k l
32
Impulse Train (cont’d)
■ The Fourier Transform of a comb function is
F combM , N [m, n]
j 2 ukM vlN
e
k l
j 2 ( uM ) k ( vN ) l
1
e
k l
(uM k , vN l )
k l
1
MN
Bahadir K. Gunturk
(Fourier Trans. of 1)
u
k l
k
l
,v
M
N
?
33
Impulse Train (cont’d)
■ Proof
(uM k ) F (u)du (uM k ) F (u)du
k
k
1
k M
1
M
v
M
(v k ) F
k 1
F
M M
k
1
M
Bahadir K. Gunturk
(u
k
dv
(v
k
k
) F v dv
M
k
)F u du
M
34
Appendix: Downsampling
v
n
F (u, v)
f [ m, n ]
m
12
12
u
Question: What is the Fourier Transform of d [m, n] f [ Mm, Nn] ?
Bahadir K. Gunturk
35
Downsampling
Let g[m, n] f [m, n]combM , N [m, n]
Using the multiplication property:
G (u, v) F (u, v) *
1
comb 1 1 (u, v)
,
MN
M N
combM , N ( x, y )
1
MN
Bahadir K. Gunturk
1 1
2 2
F ( x, y )
1 1
2 2
x kM , y lN
k l
u x
k l
k
l
, v y dxdy
M
N
36
Downsampling
1 1
2 2
k
l
F
(
x
,
y
)
u
x
,
v
y
dxdy
M
N
k l 1 1
1
G (u, v)
MN
2 2
1
MN
k
l
F
u
,
v
M
N
k k ll
where
1
k 1
k k such that
u
2
M 2
1
l 1
l l such that v
2
N 2
Bahadir K. Gunturk
37
Example
F (u )
f [ m]
0
m
1
0
Bahadir K. Gunturk
u
1
G (u )
g[m] f [m]comb2[m]
m
W
1
W
u
1
38
Example
F (u )
f [ m]
0
m
1
m
d [m] g[2m]
0
Bahadir K. Gunturk
u
1
G (u )
g[m] f [m]comb2[m]
0
W
1
W
u
1
?
m
39
Downsampling
g[m, n] f [m, n]combM , N [m, n]
G (u, v)
d [m, n] g[ Mm, N , n]
D(u, v)
d [m, n]e
j 2 um vn
m n
Mm m '
Nn n '
1
MN
k
l
F
u
,
v
M
N
k k ll
g[ Mm, Nn]e
j 2 um vn
m n
g[m ', n ']e
v
u
j 2 m ' n '
N
M
m '..., M ,0, M ,... n '..., N ,0, N ,...
g[m ', n ']e
v
u
j 2 m ' n '
N
M
m ' n '
1
u v
G ,
M N MN
Bahadir K. Gunturk
k v l
u
F
,
M M N N
k k ll
40
Example
F (u )
f [ m]
0
m
1
m
u
1
G (u )
g[m] f [m]comb2[m]
0
W
1
W
u
1
D(u )
d [m] g[2m]
0
Bahadir K. Gunturk
m
1
2W
u
1
41
Example
F (u )
f [ m]
0
m
1
W
u
1
D(u )
d [m] f [ Mm]
0
m
No aliasing if MW
Bahadir K. Gunturk
1
MW
u
1
1
2
42