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 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 ,... Mm m ' Nn n ' 1 MN 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
© Copyright 2026 Paperzz