wander1984 发表于 2007-8-9 19:04

怎么看一幅图象的相位图啊?

clear;
I=imread('rice.tif');
X=fft2(I);
B=fftshift(X);
imshow(log(1+abs(B)),[])

以上程序可以看一幅图象的频谱图,但是如何看这幅图象的相位图呢?

学习信号系统课程时知道,理想低通滤波的幅频特性曲线是一门函数,相频特性曲线是一过原点的直线,也就是激励信号通过低通滤波器后低频成分通过后还会存在相位延时。

图象是二维信号,在对图象的频域滤波(理想低通)后,书中仅仅提到低频信息通过,高频信息被抑止掉,这其中图像信号的幅频和相频分别是怎么处理的呢?我想知道具体细节,麻烦知道者能够解答。

[ 本帖最后由 花如月 于 2007-8-9 20:54 编辑 ]

花如月 发表于 2007-8-9 21:26

计算的过程反应的就是处理的过程和原理。图像的频率滤波的过程如下:先对图像信号做2Dfft变换,得到一个2D复数矩阵;该信号通过滤波器后的输出也是一个二维复数矩阵其幅值是信号的幅值和;滤波器幅值的乘积,相位是原信号相位和滤波器相位的叠加(幅值可以通过abs求得,相角通过angle求得;这里的运算完全是按照复数的乘法法则进行的)。

“不仅是低频,其他的频带也是一样,通常情况下信号通过滤波器都存在相位的延迟。二维信号相位没有一维信号相位那么明确的物理意义,所以解释和理解起来也有些困难。如果有特殊需求,可以设计零相位延迟的滤波器(感兴趣可以参看相关的资料)

也都是自己的理解和看法,难免会有错误和偏颇之处,望个人高人不吝赐教:loveliness

wander1984 发表于 2007-8-10 09:33

回复 #2 花如月 的帖子

谢谢花大哥,也就是说我如果采用以下的低通滤波器
H=zeros(512);
for i=1:512
    for j=1:512
      if (i-256)^2+(j-256)^2<=625
            H(i,j)=1;
      end
    end
end

因为H都是实数,和图象的傅立叶变换矩阵相乘后,图象频谱图的相位并没有发生变化吧?没有发生延迟,只是幅度有变化。当然如果滤波器H里面有复数的话相位就应该有变化了吧?

花如月 发表于 2007-8-11 21:01

大家继续讨论吧,自定义滤波器的相位特性我倒是没有仔细考虑过。不敢妄言呀,路过的高手就都发表发表看法:@)
页: [1]
查看完整版本: 怎么看一幅图象的相位图啊?