Often can be seen in the literature 2d-fft can be achieved by two 1d-fft, today I use MATLAB to prove that, indeed. The code for MATLAB is as follows
Clear All;clc;f=ones (256,256); center_loc = size (f); rd = 2;f (Round (Center_loc (1)/2)-rd:round (Center_loc (1)/2) +rd, Round (Center_loc (2)/2)-rd:round (Center_loc (2)/2) +rd) = 0;figure (1); Imshow (f); f2=fft2 (f); f3= (ABS (F2)); figure (2); Imshow (F3); Tmp=zeros (Center_loc (1), Center_loc (2)),%-the first 1d-fft, for each rowfor i= 1:center_loc (1) tmp (i,:) = ff T (f (I,:), Center_loc (2)), end%-transpose the TMP, for column-based 1d-ffttmp = tmp ';%-the second 1d-fft, for each columnfo R i= 1:center_loc (1) tmp (i,:) = FFT (tmp (i,:), Center_loc (2)), ENDTT = ABS (TMP), figure (3); Imshow (TT);
The following three graphs, from top to bottom, correspond to the figures in the code, respectively.
Figure (1):
650) this.width=650; "title=" 1.jpg "src=" Http://s3.51cto.com/wyfs02/M01/6D/5B/wKioL1VimBbi-unkAAAnenFGOuM968.jpg " alt= "Wkiol1vimbbi-unkaaanenfgoum968.jpg"/>
Figure (2):
650) this.width=650; "title=" 2.jpg "src=" Http://s3.51cto.com/wyfs02/M01/6D/5B/wKioL1VimDTSj7A_AABqfz0_yX4518.jpg " alt= "Wkiol1vimdtsj7a_aabqfz0_yx4518.jpg"/>
Figure (3):
650) this.width=650; "title=" 3.jpg "src=" Http://s3.51cto.com/wyfs02/M00/6D/5B/wKioL1VimEjSErjyAABqfz0_yX4504.jpg " alt= "Wkiol1vimejserjyaabqfz0_yx4504.jpg"/>
Proof that 2D-FFT can be split into two 1d-fft