Sie sind auf Seite 1von 73

2-D FOURIER TRANSFORMS

Vedat Tavanolu

2-D Fourier Transforms


Continuous-Variable Fourier Transform of a 2-D Signal

Fa ( x , y ) =

f a ( x, y )e

j ( x x + y y )

dx dy

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms

f a ( x, y )
A

Fourier Transform of Rectangular Fuction

Y
X

y
X Y 0
3

Fa ( j x , j y ) = A
0

j ( x x+ y y )

dx dy

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms


Fa ( j x , j y ) = A e
0 X j x x

dx e
0

j y y

dy

e X e ]0 [ ]Y Fa ( j x , j y ) = A[ 0 j x j y Fa ( j x , j y ) = A e
j x X

j x x

j y y

j y Y

1
4

j x

j y

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms


x X j x X e 2 sin 2 Fa ( j x , j y ) = A x 2 sin yY 2 y e
j y Y

yY x X sin sin 2 | | 2 | | Fa ( j x , j y ) |= 16 AXY | x X yY 2 2


IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms


We wish to numerically evaluate

Fa ( j x , j y ) =

( x, y ) e

j ( x x+ y y )

dx dy

To this end approximate

f a ( x, y )e
in the interval

j ( x x + y y )

{[(n+1)x ,

(m+1)y]; [nx , my]} by


j ( x x n + y y m )

f a (nx, my )e

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms


Fa ( j x , j y )
Now defining yields
n = n =

f a (nx, my )e

j ( x x n + y y m )

x y

x = X s , y = Ys
n = n =

F ( j x , j y ) X s Ys

f a (nX s , mYs )e

j ( x X s n + yYs m )

This expression gives the rectangular approximation of the 2-D Fourier integral.
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 7

2-D Fourier Transforms


Now letting

x X s = x , yYs = y

f a (nX s , mX s ) = f (n, m)
yields

F ( j x , j y ) X s Ys F (e
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

j x

,e

j y

)
8

2-D Fourier Transforms


where

F (e

j x

,e

j y

)=

n = m =
This sum is defined as the 2-D Discrete-(x,y) Fourier Transform, which gives a continuous function of the frequencies x and y. Since exp(jx) and exp(jy) are periodic functions with 2 period, F(exp(jx), exp(jy)) is a periodic function with respect to x and y with period 2.
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 9


ej

f (n, m)e

j ( x n + y m )

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

x ,

are aliases of those within this range and that the corresponding components will be folded around and and will appear to be within this range.
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 10

2-D Fourier Transforms Example: 0 m 1 .......


...... ...... ....... ...... . ...... . . . M . . . . . . . . . . . . . .

F (e

j x

,e

j y

)=
n =0

N 1

M 1 m =0

j ( x n + y m )

...... ..... .... N

= e
n =0

N 1

j x n

M 1

j y m

m=0

...... n

1 e 1 e = j x j y 1 e 1 e
11

j x N

j y M

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms


= e
N j x 2 j x 2

N j x 2 j x 2

e e

N j x 2 j x 2

yM 2 y 2

yM 2 j y 2

e e

j j

yM 2 y 2

e
j y

F (e

j x

,e

)=e

x ( N 1) 2

yM xN y ( M 1) sin sin 2 e j 2 2 x y sin sin 2 2


12

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms


xN sin j y j x 2 | F (e , e ) |= x sin 2 yM 2 y 2

||

sin

sin

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

13

2-D Fourier Transforms


Rectangular Image

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

14

2-D Fourier Transforms


shifted Fourier Transform of Rectangular Image 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))
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

MATLAB Program for the Fourier Transform and 1800

15

2-D Fourier Transforms

Fourier Transform of Rectangular Image (imshow)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

16

2-D Fourier Transforms

Fourier Transform of Rectangular Image (mesh)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

17

2-D Fourier Transforms

180 degrees shifted Fourier Transform of Rectangular Image (imshow)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

18

2-D Fourier Transforms

180 degrees shifted Fourier Transform of Rectangular Image (MESH)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

19

2-D Fourier Transforms

1800 shifted Fourier

Transform of Rectangular Image (imshow)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

20

2-D Fourier Transforms

1800 shifted Fourier

Transform of Rectangular Image (mesh)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

21

2-D Fourier Transforms


MATLAB Program Fourier 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 22

2-D Fourier Transforms


Fourier Transform of Rectangular Image Computed with Zero Padding (imshow)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

23

2-D Fourier Transforms


Fourier Transform of Rectangular Image Computed with Zero Padding (mesh)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

24

2-D Fourier Transforms


Take the Fourier transform of the image given below.

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

25

2-D Fourier Transforms


F (e
j x

,e

j y

)=
n =1
128 m =1

128

128

f ( n, m ) e
j ( x n + y )

j ( x n + y m )

m =1

F (e

j x

,e

j y

) = f (n,1)e
128

+ f (n,2)e
m =1

j ( x n + 2 y )

..........
128 m =1

..............
j ( x n +128 y )

+ f (n,128)e
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

26

2-D Fourier Transforms


F (e
j x

,e

j y

)=e +e

j y

128

128

f (n,1)e

j x n

m =1

j 2 y

f ( n, 2) e

j x n

m =1

........................ +e
j128 y

128

f (n,128)e

j x n

m =1
27

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms


where
128 128 128

f (n,1)e

j x n

m =1

= f ( n,2)e
m =1

j x n

.......... = f ( n,128)e
m =1

j x n

= e
n =1

64

j 2 x n

=e

j 2 x n

1 e j 2 x 1 e

j128 x

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

28

2-D Fourier Transforms


F ( e j x , e
j y

) = (e

j y

+e

j 2 y

+ .. + e

j128 y

) f (n,1)e j x n
m =1

128

=e

j y n

1 e

j128 y j y

1 e

j 2 x n

1 e j 2 x 1 e

j128 x

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

29

2-D Fourier Transforms

=e

j 64.5 y

sin 64 y j 65 x sin 64 x e y sin x sin 2


j y

| F (e

j x

,e

sin 64 y ) |= y sin 2

||

sin 64 x sin x

|
30

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

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

31

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

32

2-D Fourier Transforms


Fourier transform of the first image (imshow)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

33

2-D Fourier Transforms

Fourier transform of the first image (mesh)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

34

2-D Fourier Transforms

Fourier transform of the first image in x direction (mesh)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

35

2-D Fourier Transforms

Fourier transform of the first image in y direction (mesh)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

36

2-D Fourier Transforms


Take the Fourier transform of the image given below.

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

37

2-D Fourier Transforms

F (e

j x

,e
j x

j y

)=
n =1
128 m =1

128

128

f (n, m)e

j ( x n + y m )

m =1
j ( x n + y )

F (e

,e

j y

) = f (n,1)e
128

+ f ( n, 2 ) e
m =1

j ( x n + 2 y )

..........
128 m =1

..............
j ( x n +128 y )

+ f (n,128)e

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

38

2-D Fourier Transforms


F (e
j x

,e

j y

)=e +e

j y

128

128

f (n,1)e

j x n

m =1

j 2 y

f ( n, 2) e

j x n

m =1

........................ +e
j128 y

128

f (n,128)e

j x n

m =1
39

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms


F (e
j x

,e

j y

) = f (n,1)e
m =1 128

128

j x n

= f ( n, 2) e
m =1

128

j x n

.......... = f (n,128)e j x n
m =1

n =1

128

f (n,1)e j x n = F1 (e j x ) + e j 8 F1 (e j x ) + .......... .......... ......... + e j120 x F1 (e j x ) = ( e j 8 x ) F1 (e j x )


k =1
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 40

15

2-D Fourier Transforms


F ( e j x , e
j y

) = (e

j y

+e

j 2 y

........ + e

j128 y

)( f (n,1)e j x n )
m =1

128

F ( e j x , e
where

j y

)=e

j y

(1 e ) 128 f (n,1)e j x n 1 j y 1 e m=

j128 y

f (n,1)e
n =1

128

j x n

= F1 (e j x ) + e j 8 F1 (e j x ) + .......... ................... + e j120 x F1 (e j x ) = ( e j 8 x ) F1 (e j x )


k =1
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 41

15

2-D Fourier Transforms


with

F1 (e

j x

)=e
n =1
j128 y

j x n

1 e 1 e j128 x j x 1 e j 4 x j y j y j x e F (e , e ) = e j y j 8 x 1 e 1 e j x 1 e

We obtain

| F (e

j x

,e

j y

sin 64 y sin 64 x sin 2 x )= y sin 4 x x sin sin 2 2

||

|
42

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

2-D Fourier Transforms

Fourier transform of the second image (imshow)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

43

2-D Fourier Transforms

Fourier transform of the second image (mesh)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

44

2-D Fourier Transforms

Fourier transform of the second image in x direction (mesh)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

45

2-D Fourier Transforms

Fourier transform of the second image in y direction (mesh)

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

46

2-D Fourier Transforms


Fourier Transform of Rectangular Fuction: MATLAB Program 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
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 47

2-D Fourier Transforms

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

48

2-D Fourier Transforms

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

49

2-D Fourier Transforms


Fourier Transform of Rectangular Fuction: MATLAB Program 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
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 50

2-D Fourier Transforms

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

51

2-D Fourier Transforms

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

52

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

53

2-D Fourier Transforms

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

54

2-D Fourier Transforms


FOURIER TRANSFORM OF ROTATED IMAGE
MATLAB Program for the rotated image 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
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 55

2-D Fourier Transforms

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

56

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 57

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

58

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 59

2-D Fourier Transforms


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 60

F=fft2(I,256,256); F=fftshift(F); F2=abs(F);

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

61

2-D Fourier Transforms

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


Fourier Transforms of 2-D Convolution

y( n , m ) = =

k = l =

x( k ,l )h( n k , m l ) x( n k , m l )h( k ,l )
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 66

k = l =

2-D Fourier Transforms


Y( e = =
j x

,e

j y

)=

n = m =

y( n , m )e

j ( x m + y n )

n = m = k = l =

[ x( k ,l )h( n k ,m l ) ] e [ x( n k , m l )h( k ,l ) ] e
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

j ( x m + y n )

j ( x m + y n )

n = m = k = l =

67

2-D Fourier Transforms


Now let

n k = i and m l = j
Y( e = =
j x

,e

j y

)=
j ( x ( j + l )+ y ( i + k ))

n = m = k = l =

[ x( k ,l )h( i , j ) ] e [ x( i , j )h( k ,l ) ] e
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

j ( x ( j + l )+ y ( i + k ))

n = m = k = l =

68

2-D Fourier Transforms


Y( e =
j x

,e

j y

)=
j ( x i + y j ) k = l = j x

i = j =

h( i , j )e
j x

x( k ,l )e
)

j ( x l + y k )

= H( e

,e

j y

)X ( e

,e

j y

j jy j jy x ,e )X(e x ,e ) F{h(m,n)* x(m,n)}= H(e


IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 69

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 70

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 71

2-D Fourier Transforms


Fourier Transform of Separable of Signals
Separability of 2-D Signals Let a 2-D signal be given by x(m,n). If x(m,n) can be written as:

x( m , n ) = x1( m )x2 ( n )
Then x(m,n) is said to separable.
IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu 72

2-D Fourier Transforms

X(e =

j x

,e

j y

)=

m = n =

x( m,n )e
n =

j ( x m + y n )

m =

x ( m )e
1

j x m

x ( n )e
2

j x n

X(e

j x

,e

j y

) = X 1( e

j x

)X 2( e

j y
73

IMAGE SAMPLING AND FOURIER TRANSFORMS Vedat Tavanolu

Das könnte Ihnen auch gefallen