FFT2 圖像二維FFT含義解釋


一維情況時:

clc; clear;

x = zeros(256,1);

n=100; nw=1;

for i=n:n+nw

x(i) = 1;

end

f = fft(x);

figure(1); subplot(2,1,1); plot(x); axis([0 300 -1 2]);

title(['Signal, width=', num2str(nw)]);

figure(1); subplot(2,1,2); plot(abs(f(1:128)))

title('Spectrum');

clip_image002clip_image004

clip_image006clip_image008

矩形脈沖寬度窄時,高頻分量多,寬度寬時,高頻分量減少

clc; clear;

A = zeros(256, 256);

A = im2uint8(A);

m=100; n=100;

mw=50; nw=1;

for i=m:m+mw

for j=n:n+nw

A(i,j) = 255;

end

end

figure(1); subplot(2,1,1); imshow(A), colorbar

title(['Image, pulse width=', num2str(nw), ', pulse height=', num2str(mw)]);

B = fft2(A);

C = fftshift(B);

figure(1);subplot(2,1,2); imshow((abs(C)), []), colorbar

title('Image spectrum');

clip_image010clip_image012

clip_image014clip_image016

只是考察了水平方向的變換,脈沖水平寬度窄時,水平高頻分量多,水平寬度寬時,水平高頻分量減少

垂直方向可以類推。

目前還不明白斜對角的頻譜表示什么含義?

clc; clear;

A = zeros(256, 256);

A = im2uint8(A);

m=100; n=100;

r=1;

for i=1:256

for j=1:256

if( sqrt( (i-m)^2+(j-n)^2 ) <= r )

A(i,j) = 255;

end

end

end

figure(1); subplot(2,1,1); imshow(A), colorbar

title(['Image, pulse center=', num2str(n), ', pulse radius=', num2str(r)]);

B = fft2(A);

C = fftshift(B);

figure(1);subplot(2,1,2); imshow((abs(C)), []), colorbar

title('Image spectrum');

clip_image018clip_image020clip_image022clip_image024

可以看出,FFT2雖然只是在水平和垂直方向的頻譜分析,但是也顯示了斜方向的頻譜情況,如果使用一個橢圓脈沖,應該可以更清楚的看出在斜方向的頻譜情況。

clip_image026clip_image028


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM