0
我一直在努力讓它對子圖像進行傅里葉變換。我忙於塊變換編碼,用於壓縮圖像。如何計算8×8子圖像上的離散傅立葉變換
這裏是我到目前爲止的代碼:
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,如代碼
感謝您的回覆。我沒有成功的dft代碼這就是爲什麼我把它排除在外。我已經瀏覽過已經鏈接過的頁面,但我無法理解使用8乘8與matlab提供的fft2函數的概念。 – cfl 2014-11-02 10:53:06
So croppedImage_spectral = fft2(croppedImage);不適合你嗎?通常,二維dft沿着列和沿着圖像的行進行一維dft。你可以閱讀圖像處理書籍中的理論。還有很好的matlab書籍。 – 2014-11-02 11:35:19
謝謝,最初我以爲它不工作,因爲我嘗試它時遇到了一個隨機錯誤。但只是在顯示子圖像(溫度)時才意識到發生了錯誤。但適用於我使用子圖像(真實(溫度))。感謝您的幫助Tanja – cfl 2014-11-02 11:46:54