[英]2-Dimensional Fast Fourier Transform 3-D plot in Matlab
我們想使用網格函數在Matlab中繪制圖像的FFT2(我們已經應用了fftshift
, abs
和log
)。
那么我們該怎么做呢?
imageB=imread('pic2', 'jpg');
figure, imshow(imageB)
fftB=fft2(double(imageB));
F1=fftshift(fftB);
F2=abs(F1);
F3=log(F2+1);
mesh(F3)
我們想要FFT的3-D圖。
一個使用surf
的選項:
imageB=rgb2gray(imread('http://upload.wikimedia.org/wikipedia/commons/d/db/Patern_test.jpg'));
請注意,原始圖像是RGB圖像,因此FFT也將是3通道陣列。 轉換為灰度或使用F1(:,:,1)
訪問一個通道
fftB=fft2(double(imageB));
F1=log(abs(fftshift(fftB)));
surf(F1), shading flat;
結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.