Presentation is loading. Please wait.

Presentation is loading. Please wait.

2D Discrete Fourier Transform (DFT)

Similar presentations


Presentation on theme: "2D Discrete Fourier Transform (DFT)"— Presentation transcript:

1 2D Discrete Fourier Transform (DFT)
EE 7730 2D Discrete Fourier Transform (DFT)

2 2D Discrete Fourier Transform
2D Fourier Transform 2D Discrete Fourier Transform (DFT) 2D DFT is a sampled version of 2D FT. Bahadir K. Gunturk EE Image Analysis I

3 2D Discrete Fourier Transform
2D Discrete Fourier Transform (DFT) where and Inverse DFT Bahadir K. Gunturk EE Image Analysis I

4 2D Discrete Fourier Transform
It is also possible to define DFT as follows where and Inverse DFT Bahadir K. Gunturk EE Image Analysis I

5 2D Discrete Fourier Transform
Or, as follows where and Inverse DFT Bahadir K. Gunturk EE Image Analysis I

6 2D Discrete Fourier Transform
Bahadir K. Gunturk EE Image Analysis I

7 2D Discrete Fourier Transform
Bahadir K. Gunturk EE Image Analysis I

8 2D Discrete Fourier Transform
Bahadir K. Gunturk EE Image Analysis I

9 2D Discrete Fourier Transform
Bahadir K. Gunturk EE Image Analysis I

10 Periodicity [M,N] point DFT is periodic with period [M,N] 1
Bahadir K. Gunturk EE Image Analysis I

11 Periodicity [M,N] point DFT is periodic with period [M,N] 1
Bahadir K. Gunturk EE Image Analysis I

12 Convolution Be careful about the convolution property!
Length=P+Q-1 Length=P Length=Q For the convolution property to hold, M must be greater than or equal to P+Q-1. Bahadir K. Gunturk EE Image Analysis I

13 Convolution Zero padding 4-point DFT (M=4) Bahadir K. Gunturk
EE Image Analysis I

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 EE Image Analysis I

15 DFT in MATLAB f Df = fft2(f) After fftshift Bahadir K. Gunturk
EE Image Analysis I

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 EE Image Analysis I

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 EE Image Analysis I

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 EE Image Analysis I

19 Example Bahadir K. Gunturk EE Image Analysis I

20 Example Bahadir K. Gunturk EE Image Analysis I

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,[]); H Frequency domain Spatial domain Bahadir K. Gunturk EE Image Analysis I

22 Low-Pass Filtering 61x61 81x81 121x121 Bahadir K. Gunturk
EE Image Analysis I

23 Low-Pass Filtering = * h DFT(h) Bahadir K. Gunturk
EE Image Analysis I

24 High-Pass Filtering = * h DFT(h) Bahadir K. Gunturk
EE Image Analysis I

25 High-Pass Filtering High-pass filter Bahadir K. Gunturk
EE Image Analysis I

26 Anti-Aliasing a=imread(‘barbara.tif’); Bahadir K. Gunturk
EE Image Analysis I

27 Anti-Aliasing a=imread(‘barbara.tif’); b=imresize(a,0.25);
c=imresize(b,4); Bahadir K. Gunturk EE Image Analysis I

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)=1; Da=fft2(a); Da=fftshift(Da); Dd=Da.*H; Dd=fftshift(Dd); d=real(ifft2(Dd)); Bahadir K. Gunturk EE Image Analysis I

29 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 EE Image Analysis I

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 EE Image Analysis I

31 Appendix Bahadir K. Gunturk EE Image Analysis I

32 Appendix: Impulse Train
The Fourier Transform of a comb function is Bahadir K. Gunturk EE Image Analysis I

33 Impulse Train (cont’d)
The Fourier Transform of a comb function is (Fourier Trans. of 1) ? Bahadir K. Gunturk EE Image Analysis I

34 Impulse Train (cont’d)
Proof Bahadir K. Gunturk EE Image Analysis I

35 Appendix: Downsampling
Question: What is the Fourier Transform of ? Bahadir K. Gunturk EE Image Analysis I

36 Downsampling Let Using the multiplication property: Bahadir K. Gunturk
EE Image Analysis I

37 Downsampling where Bahadir K. Gunturk EE Image Analysis I

38 Example Bahadir K. Gunturk EE Image Analysis I

39 Example ? Bahadir K. Gunturk EE Image Analysis I

40 Downsampling Bahadir K. Gunturk EE Image Analysis I

41 Example Bahadir K. Gunturk EE Image Analysis I

42 Example No aliasing if Bahadir K. Gunturk EE Image Analysis I


Download ppt "2D Discrete Fourier Transform (DFT)"

Similar presentations


Ads by Google