EE 4780 2D Discrete Fourier Transform (DFT). Bahadir K. Gunturk2 2D Discrete Fourier Transform 2D Fourier Transform 2D Discrete Fourier Transform (DFT)

Post on 17-Dec-2015

252 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

Transcript

EE 4780

2D Discrete Fourier Transform (DFT)

Bahadir K. Gunturk 2

2D Discrete Fourier Transform

2D Fourier Transform

2 ( )( , ) [ , ] j um vn

m n

F u v f m n e

1 1 2

0 0

1[ , ] [ , ]

k lM N j m nM N

m n

F k l f m n eMN

2D Discrete Fourier Transform (DFT)

2D DFT is a sampled version of 2D FT.

Bahadir K. Gunturk 3

2D Discrete Fourier Transform

Inverse DFT

1 1 2

0 0

1[ , ] [ , ]

k lM N j m nM N

m n

F k l f m n eMN

2D Discrete Fourier Transform (DFT)

1 1 2

0 0

[ , ] [ , ]k lM N j m nM N

k l

f m n F k l e

where and 0,1,..., 1k M 0,1,..., 1l N

Bahadir K. Gunturk 4

2D Discrete Fourier Transform

Inverse DFT

1 1 2

0 0

1[ , ] [ , ]

k lM N j m nM N

m n

F k l f m n eMN

It is also possible to define DFT as follows

1 1 2

0 0

1[ , ] [ , ]

k lM N j m nM N

k l

f m n F k l eMN

where and 0,1,..., 1k M 0,1,..., 1l N

Bahadir K. Gunturk 5

2D Discrete Fourier Transform

Inverse DFT

1 1 2

0 0

[ , ] [ , ]k lM N j m nM N

m n

F k l f m n e

Or, as follows

1 1 2

0 0

1[ , ] [ , ]

k lM N j m nM N

k l

f m n F k l eMN

where and 0,1,..., 1k M 0,1,..., 1l N

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

2D Discrete Fourier Transform

Bahadir K. Gunturk 10

Periodicity

1 1 2

0 0

1[ , ] [ , ]

k lM N j m nM N

m n

F k l f m n eMN

1 1 2

0 0

1[ , ] [ , ]

k M l NM N j m nM N

m n

F k M l N f m n eMN

1 1 2 2

0 0

1[ , ]

k l M NM N j m n j m nM N M N

m n

f m n e eMN

1

[M,N] point DFT is periodic with period [M,N]

[ , ]F k l

Bahadir K. Gunturk 11

Periodicity

1 1 2

0 0

[ , ] [ , ]k lM N j m nM N

k l

f m n F k l e

1

[M,N] point DFT is periodic with period [M,N]

1 1 2 ( ) ( )

0 0

[ , ] [ , ]k lM N j m M n NM N

k l

f m M n N F k l e

1 1 2 2

0 0

[ , ]k l k lM N j m n j M NM N M N

k l

F k l e e

[ , ]f m n

Bahadir K. Gunturk 12

Convolution

Be careful about the convolution property!

[ ]f m

m*

[ ]g m

m

[ ]* [ ]f m g m

m

Length=P Length=Q Length=P+Q-1

For the convolution property to hold, M must be greater than or equal to P+Q-1.

[ ]* [ ] [ ] [ ]f m g m F k G k

Bahadir K. Gunturk 13

Convolution

Zero padding

[ ]* [ ] [ ] [ ]f m g m F k G l

[ ]f m

m*

[ ]g m

m

[ ]* [ ]f m g m

m

[ ]F k

4-point DFT(M=4)

[ ]G k [ ] [ ]F k G k

Bahadir K. Gunturk 14

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);

fft2 puts the zero-frequency component at the top-left corner.

fftshift shifts the zero-frequency component to the center. (Useful for visualization.)

Example: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 15

DFT in MATLAB

f

Df = fft2(f)

After fftshift

Bahadir K. Gunturk 16

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 17

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 18

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 19

Example

Bahadir K. Gunturk 20

Example

Bahadir K. Gunturk 21

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,[]);

Db = Da.*H;

Db = fftshift(Db);

b = real(ifft2(Db));

figure; imshow(b,[]);

Frequency domain Spatial domain

H

Bahadir K. Gunturk 22

Low-Pass Filtering

81x8161x61 121x121

Bahadir K. Gunturk 23

Low-Pass Filtering

1 1 11

1 1 19

1 1 1

* =

DFT(h)

h

Bahadir K. Gunturk 24

High-Pass Filtering

* =1 1 1

1 8 1

1 1 1

DFT(h)

h

Bahadir K. Gunturk 25

High-Pass Filtering

High-pass filter

Bahadir K. Gunturk 26

Anti-Aliasing

a=imread(‘barbara.tif’);

Bahadir K. Gunturk 27

Anti-Aliasing

a=imread(‘barbara.tif’);b=imresize(a,0.25);c=imresize(b,4);

Bahadir K. Gunturk 28

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 29

Noise Removal For natural images, the energy is concentrated mostly in

the low-frequency components.

Profile along the red lineDFT of “Einstein”“Einstein”

Noise=40*rand(256,256);Signal vs Noise

Bahadir K. Gunturk 30

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 31

Appendix

Bahadir K. Gunturk 32

Appendix: Impulse Train

■ The Fourier Transform of a comb function is

2, ,[ , ] [ , ] j um vn

M N M Nm n

F comb m n comb m n e

2[ , ] j um vn

k lm n

m kM n lN e

2[ , ] j um vn

m nk l

m kM n lN e

2j ukM vlN

k l

e

Bahadir K. Gunturk 33

Impulse Train (cont’d)

■ The Fourier Transform of a comb function is

2, [ , ] j ukM vlN

M Nk l

F comb m n e

2 ( ) ( )1 j uM k vN l

k l

e

(Fourier Trans. of 1)

( , )k l

uM k vN l

1

,k l

k lu v

MN M N

?

Bahadir K. Gunturk 34

Impulse Train (cont’d)

■ Proof

( ) ( ) ( ) ( )k k

uM k F u du uM k F u du

1( )

k

vv k F dv

M M

1

k

kF

M M

1( )

k

kv F v dv

M M

1( )

k

ku F u du

M M

Bahadir K. Gunturk 35

Appendix: Downsampling

m

n

u

v

[ , ]f m n( , )F u v

1 2

1 2

[ , ] [ , ]d m n f Mm Nn Question: What is the Fourier Transform of ?

Bahadir K. Gunturk 36

Downsampling

Let ,[ , ] [ , ] [ , ]M Ng m n f m n comb m n

Using the multiplication property:

1 1,

1( , ) ( , )* ( , )

M N

G u v F u v comb u vMN

1 1

2 2

1 1

2 2

1( , ) ,

k l

k lF x y u x v y dxdy

MN M N

, ( , ) ,M Nk l

comb x y x kM y lN

Bahadir K. Gunturk 37

Downsampling1 1

2 2

1 1

2 2

1( , ) ( , ) ,

k l

k lG u v F x y u x v y dxdy

MN M N

1,

k lk l

k lF u v

MN M N

1 1 such that

2 2k

kk u

M

where

1 1 such that

2 2l

ll v

N

Bahadir K. Gunturk 38

Example

umW

[ ]f m

11

( )F u

umW

2[ ] [ ] [ ]g m f m comb m

11

( )G u

0

0

Bahadir K. Gunturk 39

Example

umW

[ ]f m

11

( )F u

umW

2[ ] [ ] [ ]g m f m comb m

11

( )G u

0

0

m

[ ] [2 ]d m g m

0

?

Bahadir K. Gunturk 40

Downsampling

,[ , ] [ , ] [ , ]

[ , ] [ , , ]M Ng m n f m n comb m n

d m n g Mm N n

2 2( , ) [ , ] [ , ]j um vn j um vn

m n m n

D u v d m n e g Mm Nn e

1( , ) ,

k lk l

k lG u v F u v

MN M N

2 ' '

' ..., ,0, ,... ' ..., ,0, ,...

2 ' '

' '

[ ', ']

[ ', ']

u vj m n

M N

m M M n N N

u vj m n

M N

m n

g m n e

g m n e

'

'

Mm m

Nn n

1, ,

k lk l

u v u k v lG FM N MN M M N N

Bahadir K. Gunturk 41

Example

umW

[ ]f m

11

( )F u

umW

2[ ] [ ] [ ]g m f m comb m

11

( )G u

0

0

m

[ ] [2 ]d m g m

0u

2W 11

( )D u

Bahadir K. Gunturk 42

Example

umW

[ ]f m

11

( )F u

0

m

[ ] [ ]d m f Mm

0u

MW 11

( )D u

1

2MW No aliasing if

top related