如何计算8乘8子图像的离散傅立叶变换

时间:2014-11-02 10:27:48

标签: matlab compression dft

我一直在努力让它在子图像上进行傅立叶变换。我忙于块变换编码,用于压缩图像。

到目前为止,这是我的代码:

A=imread('bone.tif');
A=double(A);
[M N]=size(A);
sub=8;

temp=double(zeros(size(A)));
for y=1:sub:M-sub+1
    for x=1:sub:N-sub+1
        croppedImage = A((y:y+sub-1),(x:x+sub-1)); %get 8 by 8 image
        %what must I do here, discrete fourier transform                      
        temp((y:y+sub-1),(x:x+sub-1))=t;            %holder of results
    end
end

figure(2),
subplot(1,3,1),subimage(uint8(A)); title('orginal image');
subplot(1,3,2),subimage(temp); title('block transformed image');

请提供DFT的建议或代码,如代码所示

1 个答案:

答案 0 :(得分:0)

你做dft的代码在哪里?没有它,我们不能说为什么你不能让它工作。 Matlab确实有很好的文档。首先阅读一些例子来了解dft实际做的事情:

http://www.mathworks.de/help/matlab/math/discrete-fourier-transform-dft.html http://www.mathworks.de/help/signal/ug/discrete-fourier-transform.html

如果您了解这一点,请将其扩展为二维问题。