实验二 二维离散傅立叶变换程序设计(2013)

2020-06-05 12:00

实验二 二维离散傅立叶变换程序设计

一、实验目的与要求

通过对傅立叶变换原理的学习,掌握并编程验证二维离散傅立叶变换,理解二维傅立叶变换的主要性质。

二、知识点

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、傅立叶变换的性质


实验二 二维离散傅立叶变换程序设计(2013).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:铁路轨道工程施工作业要点示范卡片

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: