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