在我学习 DFT 的内容/原因/方式的过程中,我尝试在 MATLAB 上实现 DFT,然后将其输出与fft
输出进行比较,然后我注意到它有所不同,DFT 会产生不同的输出fft
吗?
% it creates a simple gray image (4x4)
I = [255, 255, 30, 100
255, 50, 90, 20
70, 70, 20, 10
100, 20, 10, 0];
% it converts it to grayscale
I = mat2gray(I);
% shows it
imshow(I);
IDFT = [];
% DFT
N1 = 4;
N2 = 4;
e = exp(1);
for w1=1:(N1)
for w2=1:(N2)
% X(w1, w2)
DFT = 0;
for n1=1:(N1)
for n2=1:(N2)
Intensity = I(n1,n2);
FirstDimension = e ^ (-1i*( (2*pi/N1) * w1 * n1));
SecondDimension = e ^ (-1i*( (2*pi/N2) * w2 * n2));
DFT = DFT + (Intensity * FirstDimension * SecondDimension);
end
end
IDFT(w1, w2) = DFT;
end
end
IDFT
fft(I)