沈阳理工大学数字图像处理课程设计I摘要在采集图像过程中,由于实际环境与理想环境存在条件差异,造成图像的背景光照不均匀,那么图像上对应照度亮的部分会比较清晰,相反,暗的部分,其细节就较难分辨。为了消除数字图像中的照度不均匀性(即图像增强),对数字图像的照度不均匀进行校正。其中校正技术(即图像增强处理技术)有低通滤波、高通滤波、同态滤波等。本设计针对数字图像中的背景光照不均匀性,采用同态滤波技术进行处理,对原始图像进行傅里叶变换,选择合适的滤波器函数对频谱成分进行调整,然后经傅里叶逆变换得到增强图像,并且在Matlab软件中进行仿真。仿真结果表明:经处理后的图像,局部对比度增强效果明显,取得了预期的理想滤波效果。同时同态滤波能有效恢复不均匀光照背景,为实际图像处理应用提供了有效的前期处理。关键词:同态滤波;图像增强;Matlab沈阳理工大学数字图像处理课程设计II目录1课程设计目的.....................................................12MATLAB简介.......................................................12.1MATLAB特点..................................................12.2MATLAB优势..................................................13同态滤波器设计原理...............................................33.1基本概念.....................................................33.2同态信号处理.................................................33.3相乘信号的同态滤波处理.......................................34同态滤波器设计方案...............................................64.1同态滤波基本流程.............................................64.2同态滤波具体设计内容.........................................74.3同态滤波传递函数的确定.......................................85同态滤波器程序及MATLAB软件仿真..................................95.1同态滤波器程序代码...........................................95.2仿真结果及分析..............................................11结论.............................................................13参考文献..........................................................14沈阳理工大学数字图像处理课程设计11课程设计目的1.掌握图像频域增强的概念及其计算方法。2.熟练掌握傅立叶变换和卷积的计算过程。3.在课程设计的过程中掌握程序编译及软件设计的基本方法。4.提高自己对于新知识的学习能力及进行实际操作的能力。2MATLAB简介2.1MATLAB特点●此高级语言可用于技术计算●此开发环境可对代码、文件和数据进行管理●交互式工具可以按迭代的方式探查、设计及求解问题●数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等●二维和三维图形函数可用于可视化数据●各种工具可用于构建自定义的图形用户界面●各种函数可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及MicrosoftExcel)集成[2]●不支持大写输入,内核仅仅支持小写2.2MATLAB优势(1)友好的工作平台和编程环境MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、沈阳理工大学数字图像处理课程设计2文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。(2)简单易用的程序语言Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。(3)强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和c++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的函数集包括从最简单最基本的函数到诸如矩阵、特征向量、快速傅里叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算、线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅里叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。沈阳理工大学数字图像处理课程设计33同态滤波器设计原理3.1基本概念(1)叠加性信号:信号为两个或多个信号和的形式。(2)相乘信号:信号为两个或多个信号的乘积,如图像信号、衰落的传输信道中的信号等。(3)卷积信号:信号为两个或多个信号的卷积,如语音信号,地震信号等。(4)同态系统:同态系统是服从广义叠加原理,在代数运算上可用输入和输出的矢量空间之间的线性变换来表征的非线性系统。3.2同态信号处理同态信号处理homomorphicsignalprocessing在信号处理中,常需从带有噪声的信号中提取原始信号。一般用滤波处理方法滤除或削弱噪声干扰以及其他不需要的信号。对于叠加性组合信号,可用线性滤波器将它们分离开。对于实用中常见的非叠加性组合信号(如乘积性信号和褶积性信号),靠线性滤波器分离或处理这些信号分量往往是无效的,这时应采用非线性滤波,即要用同态滤波处理系统进行信号处理。在输入输出运算相同的情况下,同态系统可分为相乘信号的同态滤波处理和褶积信号的同态滤波处理两种。在许多实际问题中,信号为两个或多个分量的乘积(如在有衰落的传输信道中,衰落效应可看作一个缓变分量和传输信号相乘)。对这类相乘信号,如用线性系统来分离信号各成分或单独地改善某一信号成分往往是无效的。但利用相乘信号的同态滤波处理,就可以取得较好的滤波效果。在多径或混响环境中进行通信、定位或记录,产生失真的效果可以看成是干扰与所需信号的褶积,对这类信号可用褶积信号的同态滤波处理。在语音、图像、雷达、声呐、地震勘探以及生物医学工程等领域中,同态信号处理获得广泛的应用。3.3相乘信号的同态滤波处理在许多实际问题中,信号为两个或多个分量的乘积。例如,在有衰落的传输信道中,衰落效应可以看作是一个缓变分量和传输信号相乘。又如,调幅信号可沈阳理工大学数字图像处理课程设计4表示为载频信号与包络函数的乘积,在接收机内需要分离载波和包络。在这一类相乘信号中,用线性系统来分离信号各成分或单独地改善某一信号成分往往是无效的。但利用相乘信号的同态滤波处理,就可以取得较好的滤波效果。同态滤波增强是把频率过虑和灰度变换结合起来的一种处理方法。它是把图像的照明反射模型作为频域处理的基础,利用压缩灰度范围和增强对比度来改善图像的一种处理技术。它在密度域中运用相当成功。一个相乘信号),(yxf(以两个信号相乘形式为例)可以用分量),(yxi及分量),(yxr来表示,既),(),(),(yxryxiyxf(3.1)),(yxi为照明分量(入射分量),是入射到景物上的光强度;),(yxr为反射分量,是受到景物反射的光强度。因为傅里叶变换是线性变换,所以对于式(3.1)中具有相乘关系的两个分量无法分开。也就是说,),(),(),(yxrFyxiFyxfF(3.2)式中F代表傅里叶变换。如果首先把式(3.1)的两边取对数就可以把式中的乘性分量变成加性分量,再加以进一步处理,即),(ln),(ln),(ln),(yxryxiyxfyxZ(3.3)此后对式(3.3)再进行傅里叶变换,得式(3.4):),(ln),(yxfFyxzF),(ln),(lnyxrFyxiF(3.4)令:),().(yxzFvuZ),(ln),(yxiFvuI(3.5)),(ln),(yxrFvuR则:),(),(),(vuRvuIvuZ(3.6)如果用一个传递函数为),(vuH的滤波器来处理),(vuZ,那么如前面所讨论的那样,有:),().(),(vuZvuHvuS),(),(),(),(vuRvuHvuIvuH(3.7)沈阳理工大学数字图像处理课程设计5处理后将式(3.7)再施以逆傅里叶变换,则可得到式(3.8):),(),(1vuSFyxs),(),(),(),(11vuRvuHFvuIvuHF(3.8)令:),(),(),(1'vuIvuHFyxi),(),(),(1'vuRvuHFyxr(3.9)则式(3.8)可以写成式(3.10):),(),(),(''yxryxiyxs(3.10)因为),(yxz是),(yxf的对数,为了得到所要求的信号函数),(yxg,还要进行一次相反的运算,即通过指数运算这一和对数运算相反的运算来设置算法,使之变为所需的形式,即),(exp),(yxsyxg),(),(exp''yxryxi),(exp),(exp''yxryxi(3.11)令:),(exp),('0yxiyxi),(exp),('0yxryxr(3.12)则:),(),(),(00yxryxiyxg(3.13)式中),(0yxi和),(0yxr是处理后的两个信号的分量。适当选择滤波器传递函数),(vuH将会对傅里叶变换中的分量产生不同的响应,处理结果会使信号达到所要求的目的。用同态滤波的方法处理相乘形式信号流程框图如图3.1所示:图3.1相乘形式信号同态处理流程线性滤波explog)(nx)(nx)(ns)(ns沈阳理工大学数字图像处理课程设计64同态滤波器设计方案4.1同态滤波基本流程利用广义叠加原理对同态系统进行滤波。同态滤波是把频率过滤和灰度变换结合起来的一种图像处理方法,它依靠图像的照度/反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。使用这种方法可以使图像处理符合人眼对于亮度响应的非线性特性,避免了直接对图像进行傅里叶变换处理的失真。同态滤波的