实验二 二维离散傅立叶变换程序设计
一、实验目的与要求
通过对傅立叶变换原理的学习,掌握并编程验证二维离散傅立叶变换,理解二维傅立叶变换的主要性质。
二、知识点
1、数字图像傅立叶变换的目的
为了有效地和快速地对图像进行处理和分析,常常需要将原定义在图像空间的图像以某种形式转换(正变换)到另外一些空间,并利用在这些空间的特有性质方便地进行一定的加工,最后再转换回图像空间(反变换或逆变换)以得到所需要的效果。傅立叶变换就一种重要的常用的变换,它把图像从图像空间变换到频率空间。
2、二维离散傅立叶变换
对于二维傅立叶变换,其离散形式如公式2-1所示:逆变换公式如2-2所示:
f(u,v)???F(u,v)eu?0v?0M?1N?1??uxvy????j2??????MN?????(2?1)
M?1N?1f(x,y)?频谱公式如2-3所示
??u?0v?0??uxvy??j2??????MN???F(u,v)e???(2?2)
F(u,v)?F(u,v)ej?(u,v)?R(u,v)?jI(u,v)F(u,v)?R2(u,v)?I2(u,v)??12
??(2?3)由可傅立叶变换的分离性可知,一个二维傅立叶变换可分解为两步进行, 其中每一步都是一个一维傅立叶变换。先对f(x, y)按列进行傅立叶变换得到F(x, v),再对F(x, v)按行进行傅立叶变换,便可得到f(x, y)的傅立叶变换结果。显然对f(x, y)先按行进行离散傅立叶变换, 再按列进行离散傅立叶变换也是可行的。
3、一维快速傅立叶变换(Fast Fourier Transform, FFT)离散傅立叶变换计算量非常大,运算时间长。可以证明其运算次数正比于N2,特别是当N较大时,其运算时间将迅速增长, 以至于无法容忍。为此,研究离散傅立叶变换的快速算法是非常有必要的。
下面介绍一种称为逐次加倍法的快速傅立叶变换算法(FFT)思想,它是1965年Cooley和Tukey首先提出的。采用该FFT算法,其运算次数正比于NlbN,当N很大时计算量可以大大减少。把公式(2-4)简记为旋转因子。
w?euxN?j2?uxN??(2?4)
则有一维傅立叶变换公式如(2-5)所示:
1N?1F(u)??f(x)eNx?0?j2?uxN1N?1ux??f(x)wN??(2?5) Nx?0这样一维离散傅立叶变换(DFT)用矩阵的形式表示为 :
?W0?0?F(0)????W0?1F(1)??????????????0?(N?1)?F(N?1)????Wux
WW1?01?1WW2?02?1??WW(N?1)?0(N?1)?1?W1?(N?1)W2?(N?1)?W(N?1)?(N?1)?f(0)??????f(1)??/N????????f(N?1)??????
式中,由W构成的矩阵称为W阵或系数矩阵。 观察DFT的W阵,并结合W的定义表达式W=e
-j2π/N
,可以发现系数W是以N为周期的。这样,W阵中很多系数就是相同的, 不必进行
多次重复计算,且由于W的对称性,因此可进一步减少计算工作量。如果把一个离散序列分解
成若干短序列, 并充分利用旋转因子W的周期性和对称性来计算离散傅立叶变换,便可以简化运算过程,这就是FFT的基本思想。
三、实验内容及步骤
二维傅立叶变换的实现步骤:
1.读入一幅原始图像f1如1图:并用imshow()函数显示出来。
图1 原始图像
2.利用函数fft2,对其进行快速傅立叶变换, ft=fft2(f1); 3. 利用abs函数来得到傅立叶频谱(幅度谱),s1=abs(ft),利用imshow来可视化频谱图像,观察此图像的特点,Imshow(s1,[]);
4.使用以e为底的对数对图像的频谱进行拉伸,并显示结果,imshow(log(s1),[]),观察分析第三步和第四步的不同。
步骤三的频谱 步骤四的频谱
两者的异同,及不同的原因是什么?
5.利用函数fftshift将变换后的图像原点移动到频率矩形的中心,fs=fftshift(ft); 显示变换了中心后的频谱图,Imshow(log(abs(fs)),[]),观察频谱的变化,与第四步的结果有什么不同?
步骤五的频谱 与步骤四不同点
6.利用傅立叶逆变换的实部值恢复原始的图像,g=real(ifft2(s1)),这样做的原因是:从理论上来说,如果计算傅立叶变换后的值F的输入是实数,逆变换后的值也应该是实数,但是
在实际中,ifft2的输出都会有很小的虚数分量,这是由浮点计算的舍入误差所导致的,因此我们在计算逆变换的后,提取结果的实部输出; figure,imshow(g);
7、利用imrotate函数,将f1图像顺时针旋转45度得到f2,如图2所示,语法f2=imrotate(f1,45);
图2 旋转后的图像
8.对旋转后的图像f2,仿照步骤2—4的方法,获取f2的对数拉伸的频谱图,与步骤四的结果对比,从傅里叶变换的性质来分析,结果不同的原因。 f2图像的对数频谱
观察与步骤四不同的地方是什么,
什么原因造成的?
9. 对图f1进行离散余弦变换,dt=dct2(f1);使用对数变换拉伸幅度谱,即dtl=log(abs(dt));显示变换结果imshow(dtl,[]);观察分析与步骤四的不同。
离散余弦变换频谱 观察分析与步骤四的不同及原因
10.对离散余弦变换的结果进行反变化,id=idct2(dt),并显示反变换结果。
四、考核要点
1、快速傅立叶变换的频谱图像; 3、傅立叶变换的性质
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验二 二维离散傅立叶变换程序设计(2013)在线全文阅读。
相关推荐: