You are on page 1of 73

2-D FOURIER TRANSFORMS

Vedat Tav Vedat Tav ano ano lu lu


IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
2
2-D Fourier Transforms
Continuous-Variable Fourier Transform of a 2-D Signal
dy dx e y x f F
y x j
a y x a
y x
) (
) , ( ) , (
O + O


} }
= O O
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
3
2-D Fourier Transforms
dy dx e A j j F
y x j
Y X
y x a
y x
) (
0 0
) , (
O + O

} }
= O O
x
y
) , ( y x f
a
X
Y
A
Fourier Transform of
Rectangular Fuction
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
4
2-D Fourier Transforms
dy e dx e A j j F
y j
Y
x j
X
y x a
y
x
O

O
} }
= O O
0 0
) , (
y
Y j
x
X j
y x a
j
e
j
e
A j j F
y
x
O

O

= O O
O
O
1 1
) , (
Y
y
y j
X
x
x j
y x a
j
e
j
e
A j j F
y
x
0 0
] [ ] [ ) , (
O O
= O O
O
O
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
5
2-D Fourier Transforms
|
2
2
sin
| |
2
2
sin
| 16 | ) , ( |
Y
Y
X
X
AXY j j F
y
y
x
x
y x a
O
O
O
O
= O O
y
Y j
y
x
X j
x
y x a
y
x
e
Y
e
X
A j j F
O
O
O
O
= O O
O
O
2
sin 2
2
sin 2
) , (
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
6
2-D Fourier Transforms
dy dx e y x f j j F
y x j
a y x a
y x
) (
) , ( ) , (
O + O


} }
= O O
To this end approximate
) (
) , (
y x j
a
y x
e y x f
O + O
in the interval {[(n+1)Ax , (m+1)Ay]; [nAx , mAy]} by
) (
) , (
m y n x j
a
y x
e y m x n f
A O + A O
A A
We wish to numerically evaluate
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
7
2-D Fourier Transforms
) (
) , ( ) , (
m Y n X j
s s a
n n
s s y x
s y s x
e mY nX f Y X j j F
O + O

=

~ O O
Now defining
s s
Y y X x = A = A ,
yields
y x e y m x n f j j F
m y n x j
a
n n
y x a
y x
A A A A ~ O O
A O + A O

=

) (
) , ( ) , (
This expression gives the rectangular approximation
of the 2-D Fourier integral.
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
8
2-D Fourier Transforms
) , ( ) , ( m n f mX nX f
s s a
=
y s y x s x
Y X e e = O = O ,
Now letting
) , ( ) , (
y
x
j
j
s s y x
e e F Y X j j F
e
e
~ O O
yields
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
9
2-D Fourier Transforms
) (
) , ( ) , (
m n j
m n
j
j
y x y
x
e m n f e e F
e e e
e
+

=

=
where
This sum is defined as the 2-D Discrete-(x,y) Fourier
Transform, which gives a continuous function of the
frequencies e
x
and e
y
.
Since exp(je
x
) and exp(je
y
) are periodic functions with
2t period, F(exp(je
x
), exp(je
y
)) is a periodic function
with respect to e
x
and e
y
with period 2t.
j
e
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
10
2-D Fourier Transforms
We could reach the same conclusion through a frequency
analysis of the discrete-(x,y) signal f(n,m):
All signals are composed of sinusoidal signals.
Sampled sinusoidal signals are shown to be periodic
with frequency.
Any sampled signal is periodic with frequency.
Components with frequencies that are outside the range
t e e t s s
y x
,
are aliases of those within this range and that the
corresponding components will be folded around t and t
and will appear to be within this range.
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
11
2-D Fourier Transforms
Example:
n
m
.......
.......
......
......
......
......
......
......
.....
....
N
M
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1
0
) (
1
0
1
0
) , (
m n j
M
m
N
n
j
j
y x y
x
e e e F
e e e
e
+

=

=
m j
M
m
N
n
n j
y
x
e e
e
e


=
1
0
1
0
y
y
x
x
j
M j
j
N j
e
e
e
e
e
e
e
e

=
1
1
1
1
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
12
2-D Fourier Transforms
2 2
2 2
2
2
2 2
2 2
2
2
y y
y y
y
y
x x
x x
x
x
j j
M
j
M
j
j
M
j
j j
N
j
N
j
j
N
j
e e
e e
e
e
e e
e e
e
e
e e
e e
e
e
e e
e e
e
e

=
2
sin
2
sin
2
sin
2
sin
) , (
2
) 1 (
2
) 1 (
y
y
M
j
x
x
N
j
j
j
M
e
N
e e e F
y
x
y
x
e
e
e
e
e
e
e
e

=
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
13
2-D Fourier Transforms
|
2
sin
2
sin
2
sin
2
sin
| ) , ( | | | |
y
y
x
x
j
j
M
N
e e F
y
x
e
e
e
e
e
e
=
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
14
2-D Fourier Transforms
Rectangular Image
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
15
close all
f=zeros(30,30);
f(1:20,1:15)=1;
imshow(f,'notruesize');
title(Fourier transform of rectangular image (imshow))
F=fft2(f);F2=abs(F);
figure,imshow(F2,[0 10],'notruesize');colormap(jet);colorbar
figure,mesh(F2);
title(Fourier transform of rectangular image (mesh))
F=fftshift(F);F2=abs(F);
figure,imshow(F2,[0 10],'notruesize');colormap(jet);colorbar;
title(180 degrees shifted Fourier transform (imshow))
figure,mesh(F2);
title(180 degrees shifted Fourier transform (mesh))
MATLAB Program for the Fourier Transform and 180
0
shifted Fourier Transform of Rectangular Image
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
16
2-D Fourier Transforms
Fourier Transform of
Rectangular Image
(imshow)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
17
2-D Fourier Transforms
Fourier Transform of
Rectangular Image
(mesh)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
18
2-D Fourier Transforms
180 degrees shifted
Fourier Transform of
Rectangular Image
(imshow)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
19
2-D Fourier Transforms
180 degrees shifted
Fourier Transform of
Rectangular Image
(MESH)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
20
2-D Fourier Transforms
180
0
shifted Fourier
Transform of
Rectangular Image
(imshow)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
21
2-D Fourier Transforms
180
0
shifted Fourier
Transform of
Rectangular Image
(mesh)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
22
2-D Fourier Transforms
MATLAB ProgramFourier Transform of Rectangular
Image Computed with Zero Padding:
close all
f=zeros(30,30);
f(1:20,1:15)=1;
imshow(f,'notruesize');
F=fft2(f,256,256);
F=fftshift(F);
F2=abs(F);
figure,imshow(F2,[0 10],'notruesize');colormap(jet);colorbar;
title(180 degrees shifted Fourier transform of rectangular
image computed with zero padding(imshow))
figure,mesh(F2);
title(180 degrees shifted Fourier transform of rectangular
image computed with zero padding (mesh))
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
23
2-D Fourier Transforms
Fourier Transform
of Rectangular
Image Computed
with Zero Padding
(imshow)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
24
2-D Fourier Transforms
Fourier Transform
of Rectangular
Image Computed
with Zero Padding
(mesh)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
25
2-D Fourier Transforms
Take the Fourier transform of the image given below.
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
26
2-D Fourier Transforms
) (
128
1
128
1
) , ( ) , (
m n j
m n
j
j
y x y
x
e m n f e e F
e e e
e
+
= =

=
) 128 (
128
1
) 2 (
128
1
) (
128
1
) 128 , (
.... .......... ..........
) 2 , (
) 1 , ( ) , (
y x
y x
y x y
x
n j
m
n j
m
n j
m
j
j
e n f
e n f
e n f e e F
e e
e e
e e e
e
+
=
+
=
+
=

+
+
=
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
27
2-D Fourier Transforms
n j
m
j
n j
m
j
n j
m
j j
j
x
y
x
y
x
y y
x
e n f e
e n f e
e n f e e e F
e
e
e
e
e
e e
e

+
+
=
) 128 , (
.... .......... ..........
) 2 , (
) 1 , ( ) , (
128
1
128
128
1
2
128
1
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
28
2-D Fourier Transforms
n j
m
n j
m
n j
m
x x x
e n f e n f e n f
e e e
=

=

= = ) 128 , ( .......... ) 2 , ( ) 1 , (
128
1
128
1
128
1
where
x
x
x x
j
j
n j n j
n
e
e
e e
e
e
e e
2
128
2 2
64
1
1
1

= =

IMAGE SAMPLING AND FOURIER


TRANSFORMS
Vedat Tavanolu
29
2-D Fourier Transforms
n j
m
j j j j
j
x
y y y y
x
e n f e e e e e F
e
e e e e
e
=

+ + + = ) 1 , ( ) .. ( ) , (
128
1
128 2
x
x
x
y
y
y
j
j
n j
j
j
n j
e
e
e
e
e
e
e
e
e
e
e
e
2
128
2
128
1
1
1
1

=
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
30
2-D Fourier Transforms
| | | |
sin
64 sin
2
sin
64 sin
| ) , ( |
x
x
y
y
j
j
y
x
e e F
e
e
e
e
e
e
=
x
x
j
y
y
j
x
y
e e
e
e
e
e
e
e
sin
64 sin
2
sin
64 sin
65
5 . 64

=
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
31
2-D Fourier Transforms
close all;
a = zeros(128,128);
b = zeros(128,128);
a = [ 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0];
b=[1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0];
z = a;
s=b;
for k = 1:7
z = [z a] ;
s=[s b];
end
l = z;
j=s;
for k = 1:127
z = [z;l];
s=[s;j];
end
figure, imshow(z,'notruesize')
figure, imshow(s,'notruesize')
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
32
2-D Fourier Transforms
figure, imshow(z,'notruesize')
figure, imshow(s,'notruesize')
fz=fft2(z,256,256);
fz=fftshift(fz);
fz=abs(fz);
figure,imshow(fz,[0 5],'notruesize');colormap(jet);colorbar
figure,mesh(fz);
fs=fft2(s,256,256);
fs=fftshift(fs);
fs=abs(fs);
figure,imshow(fs,[0 5],'notruesize');colormap(jet);colorbar
figure,mesh(fs);
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
33
2-D Fourier Transforms
Fourier transform of
the first image
(imshow)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
34
2-D Fourier Transforms
Fourier transform of
the first image (mesh)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
35
2-D Fourier Transforms
Fourier transform of the
first image in x
direction (mesh)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
36
2-D Fourier Transforms
Fourier transform of
the first image in
y direction (mesh)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
37
2-D Fourier Transforms
Take the Fourier transform of the image given below.
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
38
2-D Fourier Transforms
) (
128
1
128
1
) , ( ) , (
m n j
m n
j
j
y x y
x
e m n f e e F
e e e
e
+
= =

=
) 128 (
128
1
) 2 (
128
1
) (
128
1
) 128 , (
.... .......... ..........
) 2 , (
) 1 , ( ) , (
y x
y x
y x y
x
n j
m
n j
m
n j
m
j
j
e n f
e n f
e n f e e F
e e
e e
e e e
e
+
=
+
=
+
=

+
+
=
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
39
2-D Fourier Transforms
n j
m
j
n j
m
j
n j
m
j j
j
x
y
x
y
x
y y
x
e n f e
e n f e
e n f e e e F
e
e
e
e
e
e e
e

+
+
=
) 128 , (
.... .......... ..........
) 2 , (
) 1 , ( ) , (
128
1
128
128
1
2
128
1
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
40
2-D Fourier Transforms
n j
m
n j
m
n j
m
j
j
x
x x
y
x
e n f
e n f e n f e e F
e
e e
e
e


=
= =
) 128 , ( ..........
) 2 , ( ) 1 , ( ) , (
128
1
128
1
128
1
) ( ) (
) ( ......... .......... .......... ) ( ) ( ) 1 , (
1
15
1
8
1
120
1
8
1
128
1
x x
x x x x x
j
k
j
j j j j j
n
n j
e F e
e F e e F e e F e n f
e e
e e e e e e


=
=
+ + + =
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
41
2-D Fourier Transforms
) ) 1 , ( )( ........ ( ) , (
128
1
128 2
n j
m
j j j j
j
x
y y y y
x
e n f e e e e e F
e
e e e e
e
=

+ + =
n j
m
j
j
j j
j
x
y
y
y y
x
e n f
e
e
e e e F
e
e
e
e e
e
=

= ) 1 , (
1
) 1 (
) , (
128
1
128
) ( ) (
) ( ......... .......... .......... ) ( ) ( ) 1 , (
1
15
1
8
1
120
1
8
1
128
1
x x
x x x x x
j
k
j
j j j j j
n
n j
e F e
e F e e F e e F e n f
e e
e e e e e e


=
=
+ + + =
where
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
42
2-D Fourier Transforms
with

=
4
1
1
) (
n
n j j
x x
e e F
e e
x
x
x
x
x
y
y
y y
x
j
j
j
j
j
j
j
j j
j
e
e
e
e
e
e
e
e e e F
e
e
e
e
e
e
e
e e
e

=
1
1
1
1
1
1
) , (
4
8
128
128
We obtain
| | | |
2
sin
2 sin
4 sin
64 sin
2
sin
64 sin
) , (
x
x
x
x
y
y
j
j
y
x
e e F
e
e
e
e
e
e
e
e
=
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
43
2-D Fourier Transforms
Fourier transform of
the second image
(imshow)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
44
2-D Fourier Transforms
Fourier transform of
the second image
(mesh)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
45
2-D Fourier Transforms
Fourier transform
of the second image
in x direction (mesh)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
46
2-D Fourier Transforms
Fourier transform of the
second image in
y direction (mesh)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
47
2-D Fourier Transforms
close all
f=zeros(30,30);
f(1:20,1:15)=1;
imshow(f,'notruesize')
F=fft2(f);
F2=abs(F);
figure,imshow(F2,[0 5],'notruesize');colormap(jet);colorbar
Fourier Transform of Rectangular Fuction:
MATLAB Program
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
48
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
49
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
50
2-D Fourier Transforms
close all
f=zeros(30,30);
f(10:20,10:20)=1;
imshow(f,'notruesize')
F=fft2(f);
F2=abs(F);
imshow(F2,[0 5],'notruesize');colormap(jet);colorbar
Fourier Transform of Rectangular Fuction:
MATLAB Program
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
51
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
52
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
53
2-D Fourier Transforms
Fourier Transform of Rectangular Fuction
Computed with Zero Padding:
MATLAB Program
f=zeros(30,30);
f(10:20,10:20)=1;
imshow(f,'notruesize');
F=fft2(f,256,256);
F2=log(abs(F));
imshow(F2,[-1 5],'notruesize');colormap(jet);colorbar
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
54
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
55
2-D Fourier Transforms
I=zeros(30,30);
I(10:20,10:20)=1;
J=imrotate(I,45);
imshow(J,'notruesize');
F=fft2(J,256,256);
F2=log(abs(F));
imshow(F2,[0 10],'notruesize');colormap(jet);colorbar
MATLAB Program for the rotated image
FOURIER TRANSFORM OF ROTATED IMAGE
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
56
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
57
2-D Fourier Transforms
I=zeros(30,30);
I(10:20,10:20)=1;
J=imrotate(I,45);
imshow(J,'notruesize');
F=fft2(J,256,256);
F=fftshift(F)
F2=abs(F);
figure,imshow(F2,[0 5],'notruesize');colormap(jet);
colorbar
figure,mesh(F2)
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
58
2-D Fourier Transforms
Close all
I = zeros(256,256);
r = 75;
r2 = r*r;
x = -r;
cx=120;
cy=120;
while x < r
y1 = (sqrt(r2-x*x)+cx);
y2 = (-sqrt(r2-x*x)+cx);
y3 = (sqrt(r2-x*x)+cy);
y4 = (-sqrt(r2-x*x)+cy);
for i = cy:round(y1)
I(i,x+cy) = 1;
end
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
59
2-D Fourier Transforms
for i = round(y2):cy
I(i,x+cy) = 1;
end
I(x+cx,round(y3)) = 1;
I(x+cx,round(y4)) = 1;
x = x+1;
end
imshow(I,'notruesize'),title('Original Image')
figure,mesh(I),title('Original Image')
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
60
2-D Fourier Transforms
F=fft2(I,256,256);
F=fftshift(F);
F2=abs(F);
figure,imshow(F2,[0 5],'notruesize');
colormap(jet);colorbar,title('FT Original Image')
figure,mesh(F2),title('FT of Original Image')
figure,imshow(h,[-.125 1],'notruesize'),title('Filter
Kernel')
figure,mesh(h),title('Filter Kernel')
H=fft2(h,256,256);
H=fftshift(H);
H2=abs(H);
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
61
2-D Fourier Transforms
figure,imshow(Iout,'notruesize'),title('Output Image')
figure,mesh(Iout),title('Output Image')
Fout=fft2(Iout,256,256);
F=fftshift(Fout);
figure,imshow(F,[0 5],'notruesize');
colormap(jet);colorbar,title('FT Output Image')
figure,mesh(F2),title('FT of Output Image')
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
62
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
63
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
64
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
65
2-D Fourier Transforms
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
66
2-D Fourier Transforms

=
=
=
k l
k l
) l , k ( h ) l m , k n ( x
) l m , k n ( h ) l , k ( x ) m , n ( y
Fourier Transforms of 2-D Convolution
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
67
2-D Fourier Transforms
) n m ( j
k l n m
) n m ( j
k l n m
) n m ( j
n m
j
j
y x
y x
y x y
x
e ] ) l , k ( h ) l m , k n ( x [
e ] ) l m , k n ( h ) l , k ( x [
e ) m , n ( y ) e , e ( Y
e e
e e
e e e
e
+

=
+

=
+

=



=
=
=
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
68
2-D Fourier Transforms
Now let
j l m i k n = = and
)) k i ( ) l j ( ( j
k l n m
)) k i ( ) l j ( ( j
k l n m
j
j
y x
y x
y
x
e ] ) l , k ( h ) j , i ( x [
e ] ) j , i ( h ) l , k ( x [
) e , e ( Y
+ + +

=
+ + +

=


=
=
=
e e
e e
e
e
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
69
2-D Fourier Transforms
) e , e ( X ) e , e ( H
e ) l , k ( x e ) j , i ( h
) e , e ( Y
y
x
y
x
y x y x
y
x
j
j
j
j
) k l ( j
k l i j
) j i ( j
j
j
e
e
e
e
e e e e
e
e
=
=
=
+

=
+

)
y
j
e ,
x
j
e ( X )
y
j
e ,
x
j
e ( H )} n , m ( x * ) n , m ( h { F
e
e
e
e
=
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
70
2-D Fourier Transforms
Close all
I=zeros(12,12);
I(2:9,2:9)=1;
h=ones(3,3)/9;
Iout=conv2(I,h);
imshow(I,'notruesize'),title('Original Image');figure,mesh(I),title('Original Image')
F(256,256)=0;
F=fft2(I,256,256);
F=fftshift(F);
F2=abs(F);
figure,imshow(F2,[0 5],'notruesize');colormap(jet);colorbar,title('FT Original Image')
figure,mesh(F2),title('FT of Original Image')
figure,mesh(h),title('Filter Kernel')
H(256,256)=0;
H=fft2(h,256,256);
H=fftshift(H);
H2=abs(H);
figure,imshow(H2,[0 1.5],'notruesize');colormap(jet);colorbar,title('FT of Filter
Kernel')
figure,mesh(H2),title('FT of Filter Kernel')
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
71
2-D Fourier Transforms
figure,imshow(Iout,'notruesize'),title('Filtered Image')
figure,mesh(Iout),title('Filtered Image')
I2=fft2(Iout,256,256);
I2=fftshift(I2);
I2=abs(I2);
figure,imshow(I2,[0 5],'notruesize');colormap(jet);colorbar,
title('FT of Filtered Image')
figure,mesh(I2),title('FT of Filtered Image')
FIout(256,256)=0;
FIout=H.*F;
figure,imshow(abs(FIout),[0 5],'notruesize');colormap(jet);colorbar,
title('FT of Output Image obtained by the product of FFTs')
I2out(256,256)=0;
I2out=ifft2(FIout);
I2out=real(I2out);
figure,imshow(I2out,'notruesize'),
title('Output Image obtained by Inv FFT')
figure,mesh(I2out),title('Output Image obtained by Inv FFT')
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
72
2-D Fourier Transforms
Separability of 2-D Signals
Let a 2-D signal be given by x( m,n) . If x( m,n) can be
written as:
) n ( x ) m ( x ) n , m ( x
2 1
=
Then x( m,n) is said to separable.
Fourier Transform of Separable of Signals
IMAGE SAMPLING AND FOURIER
TRANSFORMS
Vedat Tavanolu
73
2-D Fourier Transforms

=
+
=
=
n
n j
m
m j
m n
) n m ( j j
j
x x
y x y
x
e ) n ( x e ) m ( x
e ) n , m ( x ) e , e ( X
e e
e e e
e
2 1
) e ( X ) e ( X ) e , e ( X
y
x
y
x
j
j
j
j
e
e
e
e
2 1
=

You might also like