图像的傅里叶变换
二维数据的DFT
一维离散数据的FT过程是将一个一维整数数组变成了一个复数元素构成的数组。。考虑复数矩阵的相位,就是考虑三角函数的偏移情况。考虑幅度值,就是考察原数组整数的变化情况。例如:变换幅度慢的就对低频成分贡献的多,变化快的就对高频成分有贡献。傅里叶变换其实也可以理解成是一个拟合的问题,这个拟合的基函数是三角函数。对于变换大的数值必然要用高频三角函数去拟合,反之亦然。
那么,对于一副图像来说也是一样。数据(灰度)变化快的就是图像的边缘轮廓细节部分,数据变化慢的就是图像的常态部分。
由一维FT推广到二维,很容易就得到二维数据的DFT表达式:
下面从lena图像的DFT入手,验证其复数矩阵的规律。
左边是一副灰度lena图像,右边使其DFT后复数矩阵的幅值经过偏移并取log后以矩阵的形式显示。
取二维图像数据直接进行DFT后的复数矩阵,观察其数值:
纵向的对应u方向,横向对应v方向。左上角元素对应的是直流分量,显然它具有最大的幅度数值。
一般不会取二维数据直接DFT数组,会对其进行shift平移,主要目的是将直流分量平移到数组的中心。
经过fftshift之后,现在的复数矩阵包含了一个完整的位于中心的周期。如上图所示,再直流分量的左右数据是对称的。同理,在直流量的上下两侧数据也是对称的。
另外,fftshift运算实质是在时域将原始数据乘上了-1的(x+y)次方,频域上u,v方向产生了相应的平移,即:
幅度和相角
介绍
一个复数可以由虚部和实部来表征,当然也可以由幅度和相角来表征。同样,图像经过傅里叶变换后的复数矩阵也完全可以通过一个幅度矩阵和一个相角矩阵来表征这个复数矩阵的所有信息。
将二维DFT通过极坐标来表示:
显然,幅度是:
相角表示为:
式中,I,R表示为F(u,v)的实部和虚部。
另外,实数的FT是共轭对称的。所以,幅度信息一定式关于原点偶对称的,而相角信息是关于原点奇对称。
考虑信号经过FT变换后,其幅度信息反映的是各个正弦分量频率大小而相角反映的是正弦分量的平移的度量。可想而知,图像经过平移后其FT变换后幅度信息是不会有变换的,而反映其平移信息应该是相角。而图像经过旋转其幅度信息必然改变,而且其幅度信息的旋转应该等于原始图像的旋转。
相角幅度信息的重要性
下面以实验的方式分别验证幅度信息与相位信息对一幅图像信息显示的重要性。
上图所示的图像从左到右一次是原lena图像,该图像F变换后的幅值和相角。图像经过F变换后并没有进行fftshit象限的变换。
以上三幅图像的第一幅是利用高斯模型产生的均值为120,方差为50的二维数组,其数组大小与lena图的大小一致。右边两张图仍然是其幅值和相角。
上图是图一的原图加上图二的纯噪声信息所构成的退化图像,右边两幅仍然是其幅值和相角。
显而易见,图一包含图像的所有信息;图二不包含图像的任何信息;图三仅包含图像的部分信息。要了解图像傅里叶变换后幅度和相角对信息显示的重要性,可以分别选取图一的幅度与图二的相角以及图一的相角与图二的幅度进行重建图像。
上图是采用图一幅度和图二相角重建的图像,其包含和原图像灰度变换多少的信息量而缺少构建这样一组二维信息基波的偏移量。其重建图像所包含原图信息量基本能被预见到。
上图是采用图二幅度和图一相角重建的图像,虽然少了图像灰度值的变化多少的信息。但是,原图所有的相位信息是已知的,所有的相位信息与纯噪声的幅度信息所构成的图像可以传递原图像轮廓信息。
由此可见,一副图像的相角对图像的信息传递具有很大的意义。
这里的图像重建采用的幅度信息是纯噪声的幅值,其对原图的重建百害而无一益。试想:如果采用被高斯污染图像的幅度与原图相角进行重建,那么对原图的还原必然会达到更好的效果。
上图的实验结果确实也验证这样的想法,其对原图的还原虽然没有达到完美的效果,但是其对图像信息传递的角度来说已经足够了。
幅度谱的向量化
考虑图像经过F变换的幅度谱,它是关于原点对称的。如果以极坐标的形式来描述其幅度谱,那么,在某一个角度θ,可以得到在这个角度上各个频率的信息。在某个频率r则可以得到各个角度的频率信息。即:
上图是一副杂乱排列的火柴图像,计算其S(r)及S(θ),画出的曲线如下图所示:
火柴的杂乱排序,其幅度谱必然不存在什么特定的规律。向量化后的幅度谱也无法观测出有意义的周期信息。
上图是一副整齐排列的火柴图像,再次计算其S(r)及S(θ),画出的曲线如下图所示:
而有序排列火柴图像的S(r)曲线在除了r=0之外在r=15以及r=25有明显的脉冲;相应的S(θ)曲线更明显的在θ=0°&180°以及θ=90°产生了明显的脉冲。
由此可见,将幅度谱向量化,无论是从哪个图来看都是只是关注了谱的某一个方向上的信息而丢失了另一个方向的信息。但是当图像呈现周期性质的特性时,观测某一个维度就已经足够了。