6.图像的傅立叶变换 - 数字图像处理实验报告 下载本文

内容发布更新时间 : 2024/10/1 16:23:44星期一 下面是文章的全部内容请认真阅读。

计算机与信息工程学院验证性实验报告

专业:通信工程 年级/班级:2011级 2013—2014学年第一学期 课程名称 数字图像处理 指导教师 段新涛 本组成员 学号姓名 实验地点 计科楼111 实验时间 周五5-6节 项目名称 图像的傅立叶变换 实验类型 验证性 一、实验目的

1了解图像变换的意义和手段;

2熟悉傅立叶变换的基本性质; 3熟练掌握FFT变换方法及应用; 4通过实验了解二维频谱的分布特点;

5通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。 6评价人眼对图像幅频特性和相频特性的敏感度。

二、实验原理

1 应用傅立叶变换进行图像处理

傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。

2 傅立叶(Fourier)变换的定义

对于二维信号,二维Fourier变换定义为:

??F(u,v)?逆变换:

??????f(x,y)e?j2?(ux?uy)dxdy

??f(x,y)?二维离散傅立叶变换为:

??????F(u,v)ej2?(ux?uy)dudv

ik?j2?(m?n)1N?1N?1NN F(m,n)???f(i,k)eNi?0k?0逆变换:

1f(i,k)?Nm?0n?0??F(m,n)eN?1N?1j2?(mik?n)NN

图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。

3利用MATLAB软件实现数字图像傅立叶变换的程序:

I=imread(‘原图像名.gif’);%读入原图像文件 imshow(I); %显示原图像 fftI=fft2(I); %二维离散傅立叶变换 sfftI=fftshift(fftI); %直流分量移到频谱中心 RR=real(sfftI); %取傅立叶变换的实部 II=imag(sfftI); %取傅立叶变换的虚部 A=sqrt(RR.^2+II.^2); %计算频谱幅值

A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225 %归一化 figure; %设定窗口 imshow(A); %显示原图像的频谱

三、实验步骤

1. 将图像内容读入内存;

2. 用Fourier变换算法,对图像作二维Fourier变换; 3. 将其幅度谱进行搬移,在图像中心显示; 4. 用Fourier系数的幅度进行Fourier反变换; 5. 用Fourier系数的相位进行Fourier反变换;

6. 比较4、5的结果,评价人眼对图像幅频特性和相频特性的敏感度。 7. 记录和整理实验报告。

四、实验仪器

1.计算机;

2 .MATLAB程序;

3.移动式存储器(软盘、U盘等)。 4. 记录用的笔、纸。

五、实验报告内容

1.叙述实验过程;

2. 提交实验的原始图像和结果图像。

六、实验图片

number.tif

七、实验程序及结果

clc;clear all

I=imread('Fig0707(a)(Original).tif.tif'); %读入原图像文件 imshow(I); %显示原图像 title('原始图像')

fftI=fft2(I); %二维离散傅立叶变换 sfftI=fftshift(fftI); %直流分量移到频谱中心 RR=real(sfftI); %取傅立叶变换的实部 II=imag(sfftI); %取傅立叶变换的虚部 A=sqrt(RR.^2+II.^2); %计算频谱幅值

A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; %归一化 figure; %设定窗口

imshow(A); %显示原图像的频谱 title('原始图像的频谱')

f1=ifft2(A); %用Fourier系数的幅度进行Fourier反变换 f2=ifft2(angle(fftI)); %用Fourier系数的相位进行Fourier反变换; figure

subplot 121;imshow(f1,[])

title('幅度进行Fourier反变换') subplot 122;imshow(f2,[])

title('相位进行Fourier反变换')