登录论坛

查看完整版本 : [求助]图像傅里叶变换后显示问题


gyp326
2009-02-27, 15:06
我是个初学着,按需要编了段程序,但是变换后显示得图像是全白的,可是图像有像素值,请高手指点一下,谢谢!
I=imread('D:\1.pgm);
figure,imshow(I)
[m,n]=size(I);
Fourier=fft2(I,m,n);
figure(2),imshow(Fourier)
Magnitude=abs(Fourier);
Phase=angle(Fourier);
Logarithmic=log(Magnitude);
Hn=ones(n,n)/(n*n);
Averaged=conv2(Logarithmic,Hn,'same');
Residual=Logarithmic-Averaged;
Spectral=abs(ifft2(exp(Residual+i*Phase)));
figure(3),imshow(Spectral)

艺术是啥
2012-02-09, 09:56
现在初学我也遇到了这样的问题,刚到网上寻找答案。刚参考别人的程序,看看HELP imshow ,发现了问题所在。2009年的问题,没人回答,初学者需要帮助啊... 自怜下。

yhcode
2012-02-09, 15:17
如果imshow显示一片空白的话,你需要先看一下要show的变量内容是否全是1或者全是255,否则的话应该是有内容的,你可以尝试imshow(Fourier, [])试试,应该就没问题了,也就是告诉MATLAB变量Fourier是一个矩阵,用图像进行显示.