专业综合设计图像频率域处理程序设计_第1页
专业综合设计图像频率域处理程序设计_第2页
专业综合设计图像频率域处理程序设计_第3页
专业综合设计图像频率域处理程序设计_第4页
专业综合设计图像频率域处理程序设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学 号: 课程设计题目专业综合实践-图像频率域处理程序设计学院信息工程学院专业电子信息工程班级姓名指导教师 年 月 日 学生姓名:专业班级:指导教师: 工作单位: 信息工程学院题 目:图像频率域处理程序设计初始条件:(1) 提供实验室机房及其matlab软件;(2) 数字图像处理的基本理论学习。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):(1)掌握频率域处理的基本原理,利用matlab设计程序完成以下功能;(2)选择二幅大小不一的256级的灰度图像;(3)用频域方法计算它们的空间域的运算结果;(4)频域中需要利用周期延拓的方法计算空域中的相关结果,分析周期

2、延拓的必要性;(5)对结果进行分析;(6)要求阅读相关参考文献不少于5篇;(7)根据课程设计有关规范,按时、独立完成课程设计说明书。时间安排: (1) 布置课程设计任务,查阅资料,确定方案1.5天; (2) 进行编程设计、调试 2天; (3) 完成课程设计报告书、答辩 1.5天;指导教师签名:年月日系主任(或责任教师)签名: 年 月 日目 录摘要3Abstract31 MATLAB简介31.2MATLAB功能特性31.3MATLAB优势特点32概述33 设计原理33.1二维连续傅里叶变换33.2二维离散傅里叶变换34 软件实现34.1检查图片格式34.2频域处理程序设计35 程序运行结果及分析

3、36 心得体会3参考文献3摘要图像的频域处理是指根据一定的图像模型,对图像频谱进行不同程度修改的技术。要对图像进行频域处理首先要对其进行傅里叶变换,傅里叶变换之后可以将图像的高频和低频分量分开来,低频分量主要是对整幅图像的综合强度的度量,高频成分主要是对图像边缘和轮廓的度量,利用这个特点使图像可以在频域得到很好的处理。同时傅里叶变换的卷积特性和周期性在图像的频域处理中也起着重要的作用,本次课设将对此做详细介绍。关键字:傅里叶变换卷积特性周期性AbstractImage processing in the frequency domain is based on a certain image

4、model, the image of the spectrum to modify the degree of technology. The image of processing in the frequency domain, we must first of its Fourier transform, Fourier transform can separate images with high frequency and low frequency components and low frequency component is mainly the comprehensive

5、 strength of the whole image metrics, high frequency components is mainly a measure of image edges and contours of, use this feature to make the image can get good treatment in the frequency domain. At the same time, Fu Liye transform and periodicity of the convolution of the image processing in the

6、 frequency domain also plays an important role in this course will be described in detail.Key words:Fourier transform Convolution property Periodicity1MATLAB简介1.1MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为

7、矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实

8、现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。1.2MATLAB功能特性 MATLAB作为一款强大的处理软件,其主要功能有:数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理

9、数字信号处理通讯系统设计与仿真财务与金融工程MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。1.3MATLAB优势特点高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;具有完备的图形处理功能,实现计算结果和编程的可视化;友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。编程

10、环境MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。简单易用Matlab是一个

11、高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C+语言基础上的,因此语法特征与C+语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。强处理能力MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各

12、种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。图形处理MATLAB自产生之日起就具有方便的数据可视化

13、功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作

14、了很大的改善,对这方面有特殊要求的用户也可以得到满足。程序接口新版本的MATLAB可以利用MATLAB编译器和C/C+数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C+代码。允许用户编写可以和MATLAB进行交互的C或C+语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用

15、。2概述图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。频域处理是指根据一定的图像模型,对图像频谱进行不同程度修改的技术,通常作如下假设:引起图像质量下降的噪声占频谱的高频段;图像边缘占高频段;图像主体或灰度缓变区域占低频段。基于这些假设,可以在频谱的各个频段进行有选择性的修改。在频率域进行图像处理的原因:可以利用频率成分和图像外表之间的对应关系。一些在空间域表述困难的增强任务,在频率域中变得非常普通。滤波在频率域更为直观,它可以解释空间域滤波的某些性质。可以在频率域指定滤波器,做反变换,然后在空间域使用结果滤波器作为空间域滤波器的指导。频率域处理可以解决许多空间域无法

16、解决的问题,例如模式噪声问题、同态滤波等。频率域处理有很强的理论基础,有很多高级或复杂算法,简单方便。3 设计原理图像的二维傅里叶变换是将图像的空间表示变换为频率域表示,图像中的平坦区域可以理解为变化比较缓慢,频率比较低,而图像的边缘和纹理区域变化较快,即高频部分。傅里叶变换能将图像的不同频率部分按照频率轴分布,由于图像平坦区域构成了图像的大部分内容,故低频成分更多一些,将坐标系原点移到图像中心后,就表现为中心是低频,外围是高频。3.1二维连续傅里叶变换如果二维连续函数f(x,y)满足狄里赫莱条件,则将有下面的傅立叶变换对存在:(1)(2)与一维傅立叶变换类似,二维傅立叶变换的傅立叶谱和相位谱

17、为:3.2二维离散傅里叶变换一个M×N大小的二维函数f(x,y),其离散傅立叶变换对为:在数字图像处理中,图像一般取样为方形矩阵,即N×N,则其傅立叶变换及其逆变换为:3.3二维离散傅里叶变换的性质离散傅里叶变换主要有以下性质:1. 平移性质2. 分配律3. 尺度变换(缩放)4. 旋转性5. 周期性和共轭对称性6. 平均值7. 可分性8. 卷积9. 相关性。这里主要简述周期性,卷积相关内容会在下一节中介绍。离散傅里叶变换有如下周期性性质:反变换也是周期性的:频谱也是关于原点对称的:这些等式的有效性是建立在二维离散傅里叶变换公式基础上的,图像的周期性在图像处理中有非常重要的作

18、用。基于卷积理论,频率域的乘法相当于空间域的卷积,反之亦然。当处理离散变量和傅里叶变换时,要记住不同函数所包含的周期性。虽然可能不太直观,但周期性是定义离散傅里叶变换对时产生的数学副产品。周期性是处理操作的一部分,不应忽视。图3.1列举了周期性的重要性。图3.1左边(ae):两个离散函数的卷积右边(fj):相同函数的卷积,考虑DFT周期性的应用。图的左边一列是用下式的一维形式计算的卷积:可以通过图3.1右边一列考察这种隐含的周期性。图3.1(f)同图3.1(a)一样,但同样的函数在两个方向上周期性地无限扩展(扩展部分用虚线表示)。从图3.1(g)到图3.1(i)同样应用该扩展。现在,可以通过将

19、h(x-m)滑过f(m)进行卷积。如前面一样,变化x完成滑动。然而,h(x-m)的周期性扩展产生了图3.1左边的计算中所没有的值。例如,在图3.1(i)中,当x=0时,看到h(x-m)右侧第一个扩展周期的一部分进入图3.1(f)中所示的f(m)(从原点开始)的一部分。当h(x-m)向右滑动时,在f(m)中的那部分开始向右侧移出,但被h(x-m)左侧相同部分所取代。这引起卷积产生一个常量值,如图3.1(j)所示的0,100的一段.从100到4OO的一段是正确的,但周期性是周而复始的,这样就引起卷积函数尾部的一部分丢失,由图3.1(j)和图3.1(e)实线部分的比较可以看出这一点。在频率域,该过程

20、需要计算图3.1(a)和(b)中函数的傅里叶变换。根据卷积理论,两个变换要相乘,再计算傅里叶反变换。结果包含40O个点的卷积,如图3.1(j)的实线部分所示。简单的解释表明当使用傅里叶变换得出卷积函数时,错误地处理周期性将得到错误的结论。结果,在开头有错误数据,结尾将丢失数据。问题的解决办法很简单。假设f和h分别由A和B个点组成。对两个函数同时添加零,以使它们具有相同的周期,表示为P。这个过程产生扩展的或延拓的函数,如下所示:和可以看出,除非选择PA+B-1,否则卷积的独立周期将会混叠。已经在图3.1中看到了这种现象的结果,这通常归于缠绕误差。若P=A+B-1,周期便会邻接起来。若PA+B-1

21、,周期将会是分隔开的,分隔的程度等于P与A+B-1的差。扩展后的卷积结果如图3.2所示。这样,如果要在频率域计算卷积,应该:(1)得到两个扩展序列的傅里叶变换;(2)将两个变换相乘;(3)计算傅里叶反变换。图3.2(ae)用扩展函数执行卷积的结果这些概念扩展到二维函数时遵循了相同的前提。假设有f(x,y)和h(x,y)两幅图像,大小分别为A×B和C×D。如同一维情况,这些行列必须假定在x方向上有相同的周期P,在y方向上有相同的周期Q。二维卷积的混叠可由选择如下周期避免:扩展f(x,y)和h(x,y)形成如下周期性序列:为了简化图例,假设f和h是方形的,且大小相同,图3.3

22、对二维函数周期延拓的说明。(a)没有延拓执行二维卷积的结果;(b)合格的函数延拓;(c)正确的卷积结果。图3.3(a)显示了图像没有延拓时得到的滤波结果。这通常是由于没有对一幅输入图像进行延拓就进行傅里叶变换,然后又乘上同样大小的函数(也没有延拓),计算傅里叶反变换。结果就是与输入图像相同的大小为A×B的图像,如图3.3(a)左上象限所示。如同一维情况,图像前面边沿(阻影部分)由于周期性而引入了错误数据,而在尾部边沿将丢失数据。如图3.3(b)所示,通过对输入图像和函数进行合适的延拓,将得到正确的、大小为P×Q的过滤图像。4软件实现4.1检查图片格式Info=imfinfo

23、(1.jpg) Info=imfinfo(2.jpg)图4.1.11.jpg图片信息图4.1.22.jpg图片信息由以上图片信息可知,两幅图均为256级灰度图像,图1宽和高为224、240,图2宽和高为250、250,大小不相等,符合要求。4.2频域处理程序设计MATLAB中提供的变换函数(1)fft2:用于计算二维快速傅立叶变换,语句格式:B=fft2(I,m,n)按指定的点数计算m,返回矩阵B的大小为m×n,不写默认为原图像大小。(2)ifft2:用于计算图像的二维傅立叶反变换,语法格式:B=ifft2(i)%直接卷积程序I1=imread('1.jpg');I2

24、=imread('2.jpg');I5=conv2(I1,I2);figure(1);imshow(I5,);title('直接函数卷积得到的图像 ')%正确的频域处理程序I1=imread('1.jpg');I2=imread('2.jpg');m1,n1=size(I1);m2,n2=size(I2);I1(m1+m2-1,n1+n2-1)=0;I2(m1+m2-1,n1+n2-1)=0;I3=ifft2(fft2(I1).*fft2(I2);I3=I3(1:m1+m2-1,1:n1+n2-1);I3=real(I3);fig

25、ure(2);imshow(I3,);title('正确延拓频域法得到的卷积图像')%比较频域方法与直接卷积的结果,显示差矩阵并且显示错误数据数F=minus(I3,I5);figure(3)imshow(F);title('正确延拓差矩阵的二值图像')s=0;fori=1:m1+m2-1for j=1:n1+n2-1if (minus(abs(F(i,j),0.000001)>0) s=s+1;end; end;end;disp(sprintf('差错 1: %d',s);%补0不够的频域处理程序I1=imread('1.jpg&

26、#39;);I2=imread('2.jpg');m1,n1=size(I1);m2,n2=size(I2);I1(m1+m2-100,n1+n2-100)=0;I2(m1+m2-100,n1+n2-100)=0;I3=ifft2(fft2(I1).*fft2(I2);I3=I3(1:m1+m2-100,1:n1+n2-100);I3=real(I3);I3(m1+m2-1,n1+n2-1)=0;figure(4);imshow(I3,);title('补0不够频域法得到的卷积图像')%比较频域方法与直接卷积的结果,显示差矩阵并且显示错误数据数F=minus(I

27、3,I5);figure(5)imshow(F);title('补0不够的差矩阵的二值图像')s=0;fori=1:m1+m2-100for j=1:n1+n2-100if (minus(abs(F(i,j),0.000001)>0) s=s+1;end; end;end;disp(sprintf('差错 2: %d',s);5程序运行结果及分析图5.1直接卷积的图像图5.2 正确延拓频域法得到的卷积图像图5.3 正确延拓差距阵的二值图像图5.4 补0不够频域法得到的卷积图像图5.5补0不够的差距阵的二值图像比较图5.1和图5.2,看不出两个图像有任何区别。通过作差,认为舍入误差小于0.000001的均可作为0来处理,这里差错为0,差值矩阵的二值图像全为黑,两图没有任何区别,即频域方法的卷积结果是完全正确的。比较图5.1和图5.4,表面上也看不出两个图像有什么区别,图5.4的靠左

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论