t9t8321 发表于 2008-4-22 18:24

求助若干图像处理问题

想用matalb,对图像进行傅立叶变换,
将其幅值图和相位图分别画出来,
进行的程序如下:
PS=imread('6-Cman.tif'); %图像可以随便取得
C=fftshift(fft2(double(PS)));
M=abs(C);%幅值
figure,imshow(M),title('幅值谱')
A=angle(C);%相位
figure,imshow(A),title('相位谱');
结果一直想不通,就是幅值图显示不出来,相位图很正常,
然后,我看到论坛上有类似的程序,
figure,imshow(log(abs(PS)),[]),colormap(jet(64)),colormap;%显示变换后系数的分布
没看懂什么意思,
而且,我换figure,imshow(log(abs(C)),[]),colormap;%显示变换后系数的分布,
其结果与书中示例给出的幅值图有类似,
现在求助如下:
1.为什么幅值图显示不了,他是确实有值的,
2.figure,imshow(log(abs(PS)),[]),colormap(jet(64)),colormap;%显示变换后系数的分布,是干什么用的,
3.igure,imshow(log(abs(C)),[]),colormap;%显示变换后系数的分布,与上句差不多,colormap(jet(64))是干嘛用的?
4.前述两句与幅值图差不多,是不是可以替代啊?如果不是,幅值图怎么表示出来啊?
请达人助之,谢谢!

t9t8321 发表于 2008-4-23 19:59

可惜么人回答呐:'(
55555555

sogooda 发表于 2008-4-24 08:11

你的问题不是谁都懂的,懂你的问题的人可能还没看到你的帖子。所以还是耐心等等吧——自己能解决最好了。

[ 本帖最后由 sogooda 于 2008-4-24 08:19 编辑 ]

多情清秋 发表于 2008-4-24 09:16

imshow在显示double型数组时,默认范围为0~1,大于1时则都是显示为白色
很显然你的不是没有显示而是显示都是白色的

至于colormap问题建议好好搞清楚颜色镜像问题

colormap(M)将矩阵M作为当前图形窗口所用的颜色映象。
jet是hsv的一种变形(以蓝色开始和结束)
colormap缺省的话,则默认是hsv,hsv色彩饱和值(以红色开始和结束)
两则显然是不一样的
页: [1]
查看完整版本: 求助若干图像处理问题