經常可以在文獻上看到2d-fft能夠以兩個1d-fft來實現,今天我用matlab證明了,的確如此。matlab的**如下
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 row
for i= 1:center_loc(1)
tmp(i, :) = fft(f(i, :), center_loc(2));
end%-transpose the tmp, for column-based 1d-fft
tmp = tmp';
%-the second 1d-fft, for each column
for i= 1:center_loc(1)
tmp(i, :) = fft(tmp(i, :), center_loc(2));
endtt = abs(tmp);
figure(3); imshow(tt);
以下三張圖從上到下,分別對應**中的figure(1~3)。
將單鏈表L拆分成兩個帶頭結點的單鏈表L1和L2
有乙個帶頭結點的單鏈表l 設計乙個演算法將其拆分成兩個帶頭結點的單鏈表l1和l2,其中l1 l2 要求l1使用l的頭結點。利用原單鏈表l中的所有結點通過改變指標域重組成兩個單鏈表l1,l2.其中l1的相對順序與l相同,所以採用頭插法建立單鏈表l1.l2的相對順序與l相反,所以採用尾插法。includ...
(1)用兩個棧實現佇列和(2)用兩個佇列實現棧
很經典的乙個演算法題,既考察了棧的性質,又考察了佇列的性質。我們可以定乙個stack1,stack2.入棧的時候直接入到stack1,當出棧的時候,先判斷stack2是否為空,為空的話,把stack1順序出棧壓入stack2.然後把stack2棧頂元素彈出。同理取front元素的時候也一樣。empt...
兩個有序陣列 A1 A2 的合併
問題6 有序陣列 a1 a2 的合併 test public void orderarraymerge int a2 int a1a2index a1.length 1 int a1rear a1.length a2.length 1 int a2rear a2.length 1 while a2r...