matlab-光电图像处理实验(傅立叶变换)

  • 格式:doc
  • 大小:319.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

光学图像处理

学生姓名:

班级:

学号:

指导教师:

日期:

一、实验室名称:

二、实验项目名称: 图像变换

三、实验原理:

傅立叶变换是信号处理领域中一个重要的里程碑,它在图像处理技术中

同样起着十分重要的作用,被广泛的应用于图像特征提取、图像增强与恢复、噪声抑制、纹理分析等多个方面。

1、离散傅立叶变换(DFT ):

要把傅立叶变换应用到数字图像处理当中,就必须处理离散数据,离散傅

立叶变换的提出使得这种数学方法能够和计算机技术联系起来。

正变换:

逆变换:

幅度:

相位角:

功率谱:

2、快速傅立叶变换(FFT ): 离散傅立叶变换运算量巨大,计算时间长,其运算次数正比于N^2,当

N 比较大的时候,运算时间更是迅速增长。二快速傅立叶变换的提出将傅立叶变换的复杂度由N^2下降到了NlgN/lg2,当N 很大时计算量可大大减

少。

而快速傅立叶变换(FFT)需要进行基2或者基4的蝶形运算,算法上面

较离散傅立叶变换困难。

∑∑-=-=+-=1010)//(2),(1),(M x N y N vy M ux j e y x f MN v u F π∑∑-=-=+=1010)

//(2),(),(M x N y N vy M ux j e v u F y x f π

3、离散余弦变换(DCT):

为FT 的特殊形式,被展开的函数是实偶函数的傅氏变换,即只有余弦项。变换核固定,利于硬件实现。具有可分离特性,一次二维变换可分解为两次一维变换。

正变换:

逆变换:

其中:

四、实验目的:

1. 了解各种图像正交变换的作用和用途;

2. 掌握各种图像变换的方法和原理;

3. 熟练掌握离散傅立叶变换(DFT)、离散余弦变换(DCT)的原理、方法和实

现流程,熟悉两种变换的性质,并能对图像傅立叶变换的结果进行必要解释;

4. 熟悉和掌握利用Matlab 工具进行图像傅立叶变换及离散余弦变换的基本

步骤、MATLAB 函数使用及具体变换处理流程;

5. 能熟练应用Matlab 工具对图像进行FFT 及DCT 处理,并能根据需要进行

必要的频谱分析和可视化显示。

五、实验内容:

1、读取以下两幅图像,分别对其进行离散傅立叶变换(FFT)。变换处理中,要求进行频谱原点平移到(0,0),并能分别显示出其2D 频谱图。通过对变换结果的分析,可以看出变换结果满足傅立叶变换(FT )的什么性质。

2、任意读取一幅灰度图像,对其进行FFT 变换,变换结果要求分别展示其64×64、128×128、256×256 的频谱图(注:为便于分析,要求变换结果的频率原点移动到(0.0)),且对64×64 频谱图能进行3D 显示。

3、任意读取一幅灰度图像,对其进行DCT 变换。变换处理过程要求利用正交变换矩阵法及matlab 的dct2()函数两种方法分别进行,并对变换结果进行比较和分析。

六、实验器材(设备、元件):

()()()()⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛+=∑∑-=-=N y v N x u y x f v c u c v u F N x N y c 212cos 212cos ,)()(,1010ππ∑∑-=-=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡+=101

02)12(cos 2)12(cos ),()()(),(N u N v c N v y N u x F y c x c y x f ππυμ⎪⎩⎪⎨⎧-≤≤==1

1201)(N k N k N k c

计算机,Matlab软件

七、实验步骤:

1、快速傅立叶变换(FFT):

⑴打开计算机,进入Matlab程序。

⑵画出程序设计流程图(图一),在Matlab中输入代码读取各图像。

⑶将两图分别转换成灰度图像。

⑷FFT变换,并将中心平移。

⑸将平移后矩阵取实部,归一化显示在同一窗口中。

⑹记录下图像,并对结果进行分析。

图一图二图三

2、64X64,128X128,256X256 FFT变换:

⑴接着上一实验,画出程序设计流程图(图二),在Matlab中输入代码。

⑵读取一幅大小合适的灰度图像。

⑶对图像分别经行64X64,128X128,256X256 FFT变换,并将中心平移。

⑷将平移后图像取实部,归一化之后显示在同一窗口中。

⑸显示64X64的3D FFT图像,记录图像,并对结果进行分析。

3、DCT离散余弦变换:

⑴画出程序设计流程图(图三),在Matlab中输入代码。

⑵读取一幅大小合适的灰度图像。

⑶对图像分别调用Matlab内函数进行DCT直接变换和用正交矩阵进行变换。

⑷分别显示变换后图像。

⑸记录图像,并对结果进行分析。

八、实验结果及分析

1、快速傅立叶变换FFT:

其源代码为:

clear;

>> oimg1=imread('cameraman.tif');

>> oimg2=imread('coins.png');

>> temp1=fft2(oimg1);

>> temp2=fft2(oimg2);

>> newimg1=fftshift(temp1);

>> newimg2=fftshift(temp2);

>> A1=double(real(newimg1));

>> B1=double(imag(newimg1));

>> A2=double(real(newimg2));

>> B2=double(imag(newimg2));

>> last1=sqrt(A1.^2+B1.^2);

>> last2=sqrt(A2.^2+B2.^2);

>> newimg1=(last1/max(max(last1)))*100;

>> newimg2=(last2/max(max(last2)))*100;

>> subplot(2,2,1)

>> imshow(oimg1)

>> subplot(2,2,2)

>> imshow(newimg1)

>> subplot(2,2,3)

>> imshow(oimg2)

>> subplot(2,2,4)

>> imshow(newimg2)

其显示的结果为:

分析:将两幅图先转化为灰度图像,然后将其进行FFT变换,中心平移,取