我一直在努力让它在子图像上进行傅立叶变换。我忙于块变换编码,用于压缩图像。
到目前为止,这是我的代码:
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的建议或代码,如代码所示
答案 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
如果您了解这一点,请将其扩展为二维问题。