[問題] 影像處理DFT已回收
修影像處理這門課
老師說要我們自己寫程式時做DFT這個動作
我寫出來
然後丟到MATLAB裡面跑
跑了快一個小時都還沒有出現結果我就把MATLAB關了
我不知道是還需要時間還是我程式有錯
不知道是不是我沒有先做乘上(-1)^(X+Y)移到中心點的關係
作法是:
1.將一張圖用DFT轉成頻率domain
2.在螢幕上印出頻譜
3.做IDFT轉回空間domain
4.在螢幕上印出輸出的圖
SOURCE CODE如下: (拜託高手幫看 我卡好幾天了...謝謝)
%讀取影像
f1=imread('lena.bmp');
F1=imread('lena.bmp');
%初始化
N=256;
M=256*256;
temp1=0;
temp2=0;
f=double(f1);
F=double(F1);
for (x=1:N)
for (y=1:N)
F(x,y)=0;
end
end
%做DFT轉換
for (u=1:N)
for (v=1:N)
for (x=1:N)
for (y=1:N)
temp1 = temp1 + f(x,y) * exp(-2 * pi * i * (u-1) * (x-1) / M
);
end
end
F(u,v)=temp1/M;
end
end
%印出spectrum
imshow(uint8( F ));
%作IDFT轉換
for (x=1:N)
for (y=1:N)
for (u=1:N)
for (v=1:N)
temp2 = temp + F(u,v) * exp(2 * pi * i * (u-1) * (x-1) / M );
end
end
f(x,y)=temp2;
end
end
%印出輸出影像
imshow(uint8( f ));
拜託高手們一下 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.71.3.123
→
05/07 07:04, , 1F
05/07 07:04, 1F
→
05/07 10:31, , 2F
05/07 10:31, 2F
→
05/07 10:33, , 3F
05/07 10:33, 3F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
0
3
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章