簡體   English   中英

Matlab中的二維快速傅立葉變換3-D圖

[英]2-Dimensional Fast Fourier Transform 3-D plot in Matlab

我們想使用網格函數在Matlab中繪制圖像的FFT2(我們已經應用了fftshiftabslog )。

那么我們該怎么做呢?

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM