字符图像识别系统的预处理算法设计与实现毕业设计论文.docx
《字符图像识别系统的预处理算法设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《字符图像识别系统的预处理算法设计与实现毕业设计论文.docx(44页珍藏版)》请在冰豆网上搜索。
![字符图像识别系统的预处理算法设计与实现毕业设计论文.docx](https://file1.bdocx.com/fileroot1/2023-5/24/110c7a58-5ba9-49e3-8099-6d83b9971b1d/110c7a58-5ba9-49e3-8099-6d83b9971b1d1.gif)
字符图像识别系统的预处理算法设计与实现毕业设计论文
湖南农业大学
全日制普通本科生毕业设计
字符图像识别系统的预处理算法设计与实现
DESIGNANDIMPLEMENTATIONOFPRE-PROCESSINGALGORITHMONCHARACTERIMAGERECOGNITIONSYSTEM
湖南农业大学全日制普通本科生毕业设计
诚信声明
本人郑重声明:
所呈交的本科毕业论文是本人在指导老师的指导下,进行研究工作所取得的成果,成果不存在知识产权争议。
除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体在文中均作了明确的说明并表示了谢意。
本人完全意识到本声明的法律结果由本人承担。
毕业论文(设计)作者签名:
年月日
字符图像识别系统的预处理算法设计与实现
摘要:
在图像处理的过程中,由于获取图像的工具或手段的影响,使获取图像无法完全体现原始图像的全部信息。
因此,以改善图像数据、抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征为目的的图像预处理在图像处理的过程中就显得非常重要。
常用的图像预处理手段包括图像大小的修改、图像浓度的扩展,图像由彩色差到灰度的转变、图像二值化、图像的锐化处理及图像平滑处理等方法。
本文在简单介绍数字图像处理技术的基础上,着重讨论了灰度直方图的构建、直方图均衡、图像平滑、图像二值化和噪声处理的原理及实现方法,并用MATLAB开发工具实现了上述图像预处理算法并给出了各种算法的处理结果。
关键词:
图像预处理;图像增强;平滑去噪;中值滤波
DesignandImplementationofPre-ProcessingAlgorithmonCharacterImageRecognitionSystem
Abstract:
Intheprocessofimageprocessing,duetotheaffectionofimagetools,theacquisitionimagecan'treflecttheoriginalimageinformationcompletely.Therefore,toimproveimagedata,inhibitdeformationandenhanceimagecharacteristicsisveryimportantinimageprocessing.Commonimagepreprocessingmethodincludetheimagesizemodification,theimagethicknessexpansion,changingcolorimagetogray,imagegray-scalebinary,imagesharpeningandtheimagesmoothprocessing.Basedonthebriefintroductionofdigitalimageprocessingtechnique,thispaperdiscussedtheconstructionofgrayhistogram,equilibriumofhistogram,theimagesmoothing,imagegray-scalebinaryandnoisetreatments’principleandmethod.TherealizationsofallthoseimagepreprocessingalgorithmwhichisrealizedwithMATLABhasbeendiscussedinthispaper,andallthoseresulthasbeengivenaftertheimplementations.KeyWords:
imagepre-processing;imageenhancement;imagedenoising;medianfilter
1前言
1.1研究意义
视觉是人类感觉中最高级的,而图像又在人类的感知中起着重要的作用。
图像作为一种重要的信息源,通过对图像的处理和预处理可以帮助我们了解信息的内涵,增强对信息的把握度,然而图像容易受到损坏或噪声污染,失去原来的信息,因此图像预处理就是在这一需求下应运而生的。
图像预处理作为图像处理的重要组成部分,对于人们获得货真价实的图像信息以及复原图像本来的面目具有决定性的作用[1]。
图像预处理顾名思义就是在图像分析中,对我们输入的图像进行特征抽取、分割及匹配前所进行的处理。
进行图像预处理主要目的是为了消除图像中无关紧要的信息,恢复有用的真实的信息,增强相关信息的可检测性和最大限度地简化我们需要的数据,从而增加特征抽取、图像分割、匹配和识别等后续图像处理步骤的可靠性[2]。
因此对图像进行预处理就成了人们获得图像信息的首要解决的事情,然而人们对于图像预处理的知识了解不是很多,而且图像预处理方法繁多,单单就平滑处理来说就有好多种方法,它们相比有哪些优缺点,以及中值滤波有何改进之处,这就是本文要探讨和研究的地方[3]。
图像预处理是一个广阔的学科,应用广,分类细,但是远远不能满足社会当今的需求,需要不断的完善和发展,有很多新的方面需要探索。
1.2国内外研究现状
对于获取来的静态图像做的一个去噪处理过程,增强等处理的过程即是图像的预处理过程。
在实际应用中,各种因素都可能对拍摄的图像产生影响,例如天气好坏,光线强弱或者人为因素,以及设备使用时间过长等。
为了能最大程度减少外界干扰对于整个系统的影响,应该在车牌定位以前将图像中的干扰和噪声滤除[5]。
有些研究者专门针对图像的预处理阶段提出了一些算法,例如,李战明等人提出了一种图像预处理算法,该算法分四个步骤来逐步实现对图像的去噪和增强操作,处理步骤包括尺寸归一化,中值滤波,图像增强以及二值化,在原有理论研究的基础上引入了一些新思想和新方法[1]。
董玲娇等人提出了一种新的图像预处理算法,该算法充分考虑由于各种原因造成的图像歪斜、模糊或缺损等情况,具有较好的处理效果[4]。
也有一些研究者考虑先通过用形态运算来过滤掉图像的背景信息,因为图像的背景信息对于车牌的定位以及后续环节无关紧要,去掉背景信息还可以提高处理的效率,使用该种方法的研究者例如朱光忠等人提出了一种基于多尺度Top-Hat算子的图像预处理算法,该算法针对不同的图像模块引入不同尺度结构元素来对图像进行处理,取得了较好的效果[5]。
以上列举出来的部分图像预处理算法大多都为传统的数字图像处理算法,因此并没有考虑到图像的特殊性,在实际的系统中处理的效果不理想。
为了保证算法达到较好的效果,必须针对图像展开研究,系统的观察各个环境以及受到不同干扰的情况下车牌的效果,以及图像所受到的干扰对整个算法的影响,从而设计专门的算法来进行预处理,这就是目前图像预处理算法所存在的一些缺陷和不足。
随着计算机和人工智能的迅速发展,数字图像处理技术向着更高、更深的层次发展。
人们开始研究如何利用计算机系统的解释处理图像,这类被称为图像理解或者计算机视觉。
发达国家投入了大量的人力物力来研究这项技术,取得了不少重要的成果,其中比较有代表性的成果是70年代Marr提出的视觉计算理论,此理论成为计算机视觉领域的主导思想[6]。
当前,由于计算机技术的飞速发展,图像处理总的发展研究趋势是以数字处理为主。
数字图像处理实质上是计算机技术、信息论和信号处理相结合的综合性应用学科,与其它学科有着密切的关系。
图像去噪就是数字图像处理技术中的重要技术之一。
近些年,国内外发表的数字图像预处理方面的论文提出了很多卓有成效的对图像处理的模型或方法,其中最主要的是图像去噪,图像去噪的方法从不同处理域的角度可以划分空域和频域两种处理方法:
前者是在图像本身存在的二维空间里对其进行处理;而后者则是用一组正交函数系来逼近原信号函数,获得相应的系数,将对原信号的分析转化到了系数空间域,即频域中进行[7]。
空间域的线性滤波算法理论发展较为成熟,数字分析简单,对滤除与信号不相关的随机噪声效果显著,但是它本身存在着明显的缺陷,如需要随机噪声的先验统计知识,对图像边缘细节保护能力较差等,特别是后者使得线性滤波无法很好地适应于图像的噪声滤除处理。
与线性滤波相对应的非线性滤波大都考虑到了人的视觉标准和最佳滤波准则,提高了图像分辨率和边缘保护能力,特别是一些改进后的非线性滤波方法一般都具有了一定的自适应性,这就使得非线性滤波的功能更为强大,可以广泛地应用到医学、遥感等领域的图像处理中。
1971年,图基提出了中值滤波的思想,并首先应用与时间序列的分析中,后来这种方法引入到图像处理中,用来滤除图像的噪声,收到了良好的效果[8]。
随之而来的是各种中值滤波的改进方案。
其中有一种被称为自适应中值滤波的改进算法引起了人们的关注,这种方法最突出的特点是具有自适应的性能并且对图像的边缘保护能力较传统算法具有明显提高。
另外数学形态学和统计学的引入为数字滤波技术开辟了新的途径,1982年Serra出版的专著《ImageAnalysisandMathematicalMorphology》成为数学形态学应用于数字图像领域的咀程碑,由此孕育了很多相天的滤波算法,使得图像滤波算法对图像的处理有了显著提高,边缘保护能力也得到增强[9]。
图像去除脉冲噪声特别是椒盐噪声的方法有很多,其中非线性中值滤波器作为排序统计滤波器的典型代表而广泛应用于数字图像的预处理领域。
它与线性平滑滤波器相比,能在一程度上去除椒盐噪声,同时减少图像模糊。
但中值滤波的滤波窗口大小固定,随着图像噪声率的增加,其噪声去除能力下降很快。
这是由于随着噪声率的增加,图像中有用的信号点逐渐减少,噪声点因邻域内可用于滤波的信号点太少而不能被有效滤除[10]。
除了上述方法之外,实际上还有许多学者提出了其他方面的方法,比如自适应加权滤波等,各种改进方法的优劣不一,目的都是为了图像预处理。
1.3论文安排及主要研究问题
第一章为绪论,首先阐述了本论文的研究目的和意义,然后介绍图像预处理技术的国内外研究现状,最后给出了本论文的主要工作安排及结构。
第二章介绍MATLAB软件,以及MATLAB对图像处理的几种基本方法。
第三章进行图像灰度化设计。
第四章进行图像增强。
第五章重点介绍图像平滑滤波技术,围绕平滑滤波的分类重点介绍了均值滤波、高斯滤波、中值滤波及频域低通滤波等几个方法的原理以及算法流程图,并且分析各个算法的优缺点。
第六章主要介绍图像灰度化,以及灰度化算法的。
最后一章是对论文的主要工作进行了总结,并找到不足之处及改进的方向。
2MATLAB软件与图像预处理
2.1MATLAB简述
MATLAB是矩阵实验室(MatrixLaborator)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MathWorks公司针对不同领域的应用,推出了信号处理,控制系统,神经网络,图像处理,小波分析,鲁棒控制,非线性系统控制设计,系统辨识,优化设计,统计分析,财政金融,样条,通信等30多个具有专门功能的工具箱,这些工具箱是由该领域内的学术水平较高的专家编写的,无需用户自己编写所用的专业基础程序,可直接对工具箱进行运用。
同时,工具箱内的函数源程序也是开放性的,多为M文件,用户可以查看这些文件的代码并进行更改,MALAB支持用户对其函数进行二次开发,用户的应用程序也可以作为新的函数添加到相应的工具箱中。
MATLAB中的数字图像是以矩阵形式表示的,这意味着MATLAB强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对MATLAB中的数字图像同样适用。
MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
2.2MATLAB软件与图像预处理
MATLAB最突出的功能就是简洁,用更直观的符合人们思维的代码代替了C和VC++的冗长的代码,给用于带来了最直观最简洁的程序开发环境。
而且MATLAB的图形功能很强大,在MATLAB里数据的可视化非常简单,MATLAB还具有较强的编辑图形界面的能力。
MATLAB的另一大特色是功能强大的工具箱。
MATLAB软件里包含两部分:
核心部分和各种可自由选取的工具箱。
核心部分则有数百个内部函数,工具箱又分为两个方面:
功能性工具箱和学科性工具箱。
前者用来扩充符号计算功能,图像建模仿真功能,文字处理功能和硬件实时交互功能等。
可以看出功能性工具箱用于多种类型的学科,而学科性工具箱是比较专业性的工具箱,如signlprocessingtoolbox,communicationtoolbox等等,所以用户可以不编写自己学科内的基础性程序,直接进行高端的程序研究。
在上述工具箱中,图像处理工具包是由一系列支持图像处理操作的函数构成的,所支持的图像操作有:
图像几何操作,邻域操作、图像变换、图像增强与恢复、线性滤波和滤波器的设计与实现等等。
2.2.1MATLAB处理图像的特点
(1)MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多。
(2)友好的工作平台和编程环境。
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
(3)简单易用的程序语言。
MATLAB一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
(4)强大的科学计算机数据处理能力。
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
(5),出色的图形处理功能,MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和距阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
(6),应用广泛的模块集合工具箱,MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,他们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
2.2.2MATLAB在图像方面的应用
(1)图像文件格式的读入和写出。
MATLAB提供了图像读入函数imread(),用来读取各种各样的文件,如bmp、pcx、jgpeg、hdf、xwd等格式的图像。
MATLAB还提供了图像写出函数imwrite(),另外还有图像显示函数image()、imshow()。
(2)图像处理相关的基本运算。
MATLAB提供了图像线性运算以及卷积、相关、滤波等非线性算。
例如,用函数conv2(A,B)实现了A,B两幅图像的卷积运算。
(3)图像变换。
图像变换技术是图像处理的重要工具,常运用于图像压缩、滤波、编码和后续的特征抽取或信息分析过程。
MATLAB工具箱提供了常用的变换函数,如fft2()与ifft2()函数分别实现二维快速傅立叶变换与其逆变换,dct2()与idct2()函数实现二维离散余弦变换与其逆变换,Radon()与iradon()函数实现Radon变换与逆Radon变换。
(4)平滑与锐化滤波。
平滑技术用于平滑图像中的噪声基本采用在空间域上的求平均值或中值。
或在频域上采取低通滤波,因在灰度连续变化的图像中,我们通常认为与相邻像素灰度相差很大的突变点为噪声点,灰度突变代表了一种高频分量,低通滤波则可以削弱图像的高频成分,平滑了图像信号,但也可能使图像目标区域的边界变得模糊。
而锐化技术采用的是频域上的高通滤波方法,通过增强高频成分而减少图像中的模糊,特别是模糊的边缘部分得到了增强,但同时也放大了图像的噪声。
在MATLAB中,各种滤波方法都是在空间域中通过不同的军纪模板即滤波算子实现,可用fspecial()函数创建预定义的滤波算子,然后用filter2()或conv2()函数在实现卷积运算的基础上进行滤波。
以上所提到的MATLAB软件在图像中的各种处理应用都是通过相应的MATLAB函数来实现的,因此使用时,只需正确调用相应的函数并输入参数即可。
3预处理介绍
3.1图像灰度化
3.1.1灰度的概念
首先了解一下灰度的基本概念,灰度用黑色调来表示物体,每个灰度对象有0%(白色)至100%(黑色)的范围值,通常用灰度来表示黑白或灰度扫描仪生成的图像。
另外使用灰度还能将彩色的图像转换为高质量的黑白图像,此时制图软件将会把原图像的所有颜色信息丢弃。
而我们所说的灰度色,就是指纯白、纯黑及两者的一系列从黑到白的过渡颜色。
平常所说的黑白照片、电视,实际上都应称为灰度照片、灰度电视才准确。
灰度共有256个级别,灰度最高的相当于最高的黑,那就是纯黑。
灰度最低的相当于最低的黑,也就是没有黑,就是纯白。
当把像素量化以后,用一个字节表示像素的大小。
如果把黑-灰-白连续多种变化的灰度值也量化为256个灰度级,则灰度值的范围大小为0到255,表示的含义是亮度从深到浅,相对应的图像中的颜色则是从黑到白[11]。
所以黑白照片里包含了黑白之间的所有灰度值,每个像素都在黑和白之间的256种灰度中包含着。
3.1.2图像灰度化介绍
将彩色的图像转化灰度图像的过程叫做图像灰度化,由于彩色图像的每个像素的颜色由R、G、B三个分量组成,即红、绿、蓝三种颜色。
每种颜色都有255中灰度值可以去,而灰度图像则是R、G、B三个分量灰度值相同的一种特殊的图像,所以在数字图像处理过程中将彩色图像转换成灰度图像后就会使后续的图像处理时的计算量变得相对很少,这也就是图像灰度化的原因。
而且灰度图像对图像特征的描述与彩色图像没有什么区别,仍能反应整个图像的整体和局部的亮度和色度特征。
现在大部分的彩色图像都是采用RGB颜色模式,处理图像的时候,要分别对RGB三种分量进行处理,实际上RGB并不能反映图像的形态特征,只是从光学的原理上进行颜色的调配[12]。
所以人们在进行图像处理和预处理时都会先进行图像的灰度化处理,方便对图像的后续化处理,减少图像的复杂度和信息处理量。
3.1.3图像灰度化的常用方法
彩色图像RGB模型中,如果R=G=B,则彩色表示一种灰度颜色,其中这个值叫灰度值,所以灰度图像每个像素用一个字节存放灰度值(亮度值),一般有四种方法对彩色图进行灰度化:
(1)取分量法。
分量法是一种比较简单的图像灰度化的方法。
在彩色空间中,图像的每一个像素点都同时有几个不同的分量,如果每一个分量都有8bit来表示,那么每一个分量共有256个颜色变化值。
分量法的原理即是选取像素点中的某一个分量来代替该像素点,因此就完成了图像的灰度化。
此种方法过程简单,只需简单的计算过程即可将彩色图像灰度化,但也有一定的缺点和不足,如果对于所有彩色图像都采用该方法来进行灰度化,同样不能满足系统的要求,因为现实环境中的彩色图像应用的领域不同,其对图像灰度化的质量也会有不同的要求。
(2)取最大值法。
最大值法的原理是选取每一个像素点的所有分量中最大的分量来代替该像素点,从而达到图像灰度化的目的。
这种方法同样比较简单,没有复杂的计算过程,因此可以在较短的时间内就可以得到彩色图像的灰度化图像。
(3)平均值法。
由于彩色图像每一个像素点都同时有几个不同的分量,因此平均值法的原理是将每一个像素点的所有分量的平均值作为当前像素点的像素值。
例如在RGB色彩空间,每一个像素点都包含R、G、B三分量,利用R、G、B三分量的平均值来替代该像素。
该方法是一种简单的灰度化方法,整个过程无需复杂的计算。
(4)加权平均值法。
根据三个分量的重要性及其它指标,将三个分量以不同的权值进行加权平均运算。
由于人眼对绿色的敏感度高,对蓝色的敏感度低,故可以按照不同的权值对RGB三个分量进行加权平均运算能得到比较合理的灰度图像。
3.2图像增强
很多由于场景条件的影响图像拍摄的质量不佳或者干扰噪音较多,这就需要图像增强技术来改善图像的视觉效果。
图像增强其目的主要是通过对图像进行一定的变换处理去除一些无关紧要的信息同时增强有用信息,比如突出图像中车牌的某些特点、从数字图像中提取目标物的特征参数或者忽略一些不关紧要图像信息等等,经过增强后的图像将会具有更好的视觉效果,同时更有利于提取相关信息。
本文前部已经提到,利用图像获取设备得到的图像并不是完全理想的图像,实际应用中的图像都受到了不同程度的干扰,因此将会对提取图像中的重要信息带来不利影响。
这样的影响如果太大,将会影响人和机器对图像的理解,将会降低整个系统的识别率和准确率。
有学者曾提出应该根据图像受到的噪音和干扰提出一个干扰数学模型,这样就可以将外部环境对图像的影响通过数学表达式的方式参与到整个系统的计算当中,但是在绝大多数情况下,外部环境的噪音和干扰具有极大的随机性,因此到目前为止还未能提出专门的噪音干扰的数学模型。
人们通常情况下是通过自身的经验来对图像的噪音进行过滤。
例如由于拍摄环境的原因使得拍摄的图像模糊或者重要细节丢失等等不利于整个系统的干扰产生,这样的情况下可以使用一些常用的数字图像操作例如图像对比度增强或者图像平滑等等来尽量过滤影响系统的噪音。
此外,拍摄图像的物理设备也可能会差生一定的噪音,由于这样的设备在使用一段时间后可能会出现部分零部件的老化等等使得拍摄图像的质量下降等等,拍摄到的图像会受到各种各样的噪音的影响和干扰,因此尽可能多的去除图像中的干扰是有必要的,下面是一些数字图像中经常使用的一些图像增强方法。
3.2.1灰度变换
灰度变换是基本的图像点运算,是图像增强处理中的一种非常基础空间域图像处理方法。
灰度变换是指根据某种目标条件按照一定的变换关系去逐点改变原图像中每一个像素灰度值,目的是为了改善画质,以便让图像的显示效果更佳清晰,因此灰度变换还被称为图像