




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录【摘要】11引言11.1选题意义11.2 Matlab与图像处理简介22 系统简介22.1车牌区域定位32.2车牌图像灰度化42.3倾斜校正42.4车牌后处理42.5字符分割42.6模板匹配和字符识别42.7数据存储和显示53算法与实现53.1阈值处理简介53.2模板匹配简介73.2.1 模板匹配的基本概念73.2.2模板匹配算法实现73.2.3改进的模板匹配算法83.3输入待处理的原始图像83.4车牌提取103.5图像的灰度化123.6倾斜校正123.7图片后处理133.8字符切割143.9字符识别154 系统运行结果分析165结束语17【注释】18【参考文献】18致谢19【Abstract】20 基于Matlab的静态车牌识别系统基于Matlab的静态车牌识别计算机与软件学院计算机科学与技术 钟文锋学号:2007130094【摘要】:车牌识别是图像识别领域的重要研究课题,运用MATLAB技术研究车牌识别技术中的图像预处理、车牌定位、字符分割与字符识别等核心部分,并提出一种基于MATLAB的静态车牌识别系统的实现方法,综合使用多种方法提高系统的有效识别能力。该方法解决了在自然背景的图像中定位分割牌照区域、车牌倾斜和提取分割的字符等问题。本文叫详细介绍了该系统的实现方法等技术,重点介绍车牌提取、字符分割,以及字符的模板匹配三个方面。通过对一定数量的车牌图像进行识别处理,结果表明MATLAB在车牌静态识别方面的运用有较好的效果。非常有效。【关键词】车牌识别;字符分割;图像提取;字符识别;模板匹配;阈值;倾斜校正等。关键字34个1引言随着我国经济的快速发展,人民生活水平的不断提高,私有车辆越来越多,交通需求量也越来越大,现有的交通基础设施建设速度远远比不上机动车辆和其他交通工具的增长速度;传统的人工管理方式已经越来越不能满足实际工作的需要。为快速、高效地对车辆进行管理和监控,实现交通管理的自动化、智能化,车牌自动识别技术在智能交通系统中已成为核心技术比。车辆牌照是机动车唯一的管理标识符号在交通管理中具有不可替代的作用。因此车辆牌照识别系统应具有很高的识别率,对环境光照条件、拍摄位置和车辆行驶速度等因素的影响应有较大的容阈,并应满足实时性要求。牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。其硬件一般包括触发、摄像、照明、图像采集等设备。其软件核心包括车牌定位、车牌字符分割和字符识别等算法。利用该技术可以实现对车辆的自动登记、验证、监视和报警,高速公路收费,对停车场进行管理,特殊场所车辆的出入许可等。传统的实现车牌识别的软件是采用C+来实现的,本文将采用MATLAB对软件实现方式作初步尝试性探讨。用MATLAB作车牌识别比用其他工具有许多优势,因为MATLAB的函数隐藏了傅立叶变换等复杂的计算,并且在图像的灰度化、二值转换和滤波等方面都有很大优势。本设计是在采集了车牌相片之后对其号码进行识别,并输出号码。1.1选题意义汽车牌照自动识别系统是以汽车牌照为特定目标的专用计算机视觉系统,是计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一,是实现交通管理智能化的重要环节,它可广泛应用于交通流量检测,交通控制与诱导,机场、港口、小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。目前,发达国家LPR(汽车牌照识别技术License Plate Recognition, LPR,简称“车牌通”)系统在实际交通系统中已成功应用,而我国的开发应用进展缓慢,车牌识别系统基本上还停留在实验室阶段。基于这种现状还有它广阔的应用前景,目前对汽车车牌的识别研究就有了深远的意义。正如参考资料的介绍一样,目前已经有大量的车牌识别系统的相关资料,但是那些系统基本上都是直接将彩色图像转换为二值图像,然后再进行后续处理,而本课题需要研究的是先从彩色图像中提取车牌,然后再接着做其它与已有处理过程相似的处理,。其中,从彩色图像中提取包含车牌信息的图像是本设计的主要意义所在,也是重点。而其他部分是在已有成果的基础上进行的改进或引用。1.2 Matlab与图像处理简介 MATLAB是由美国math works公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。而图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。2 系统简介本设计研究的车牌识别系统是一项利用车辆的静态图像进行车牌号码的自动识别的模式识别技术。一个完整的车牌识别系统应包括图像采集和车牌识别等几部分。车牌识别技术中车牌定位、字符切割、字符识别及后处理是其关键技术。车牌识别单元对图像进行处理,定位出车牌位置,再将车牌中的字符分割出来进行识别,然后组成完整的车牌号码输出。具体步骤如下:图2.1 系统开发流程图 图中箭头不规范本设计是在静态车牌图像的及基础上对车牌进行识别,故车牌图像采集不做介绍,而图像预处理就是对图像进行一些简单的处理,如增加亮度等,也不是设计的重点,也不做详细介绍。下面介绍一下其他几个模块:2.1车牌区域定位自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。本系统主要针对家庭小型车蓝底白字车牌进行识别,根据彩色图像的RGB比例定位出近似蓝色的候选区域。由于深港两地车牌为黑底白字,因此在车牌识别最初阶段将其分离出来,直接判断,不再进行后期处理。在图片中出现较多的蓝色背景情况下识别率会下降,不能有效提取车牌区域。通过自适应调节方案对分割出来的区域进行识别调整,根据车牌的长宽比,蓝白色比例对候选区域进行多次定位,最终准确定位出车牌区域。2.2车牌图像灰度化由于本系统的处理的车牌图像是在室外用高清数码相机拍摄的,因此原始图像的数据一般比较大,所以对其进行处理的时间一般也较长,而由于实时性的要求,车牌的提取需要一次性处理就能把绝大多数特征提取出来。所以需要把得到的图像转化为灰度图像,这样会大大减少数据量,为实时性提供一定程度的保证。灰度化后的车牌要能再现原字符图像,基本不出现笔画断裂和粘连现象,尽量不丢失原字符的特征。2.3倾斜校正如果车牌不是水平的,那么在后面的字符分割搜索时便不能保证每次是在对同一个字符进行黑色像素统计,即会导致识别出错。所以对于存在倾斜角度的图片,需要进行倾斜校正,本文采取rando算法进行倾斜角度的计算,然后对倾斜图片进行修正,得到水平方向一致的图片,便于进行后期的图片分割及图像识别。2.4车牌后处理准确定位出车牌位置后,还需要对车牌进行的后处理,以便进一步提前出车牌信息。其中包括车牌区域二值化、擦除干扰、滤波等。车牌区域变成二值图像能够大大的节省存储空间,而且能降低运算了,从而有效的提高处理效率。擦除干扰是把除去车牌多余的信息给擦除掉,然后通过滤波获得更好的处理效果,但如果阈值选择不好,可能把把某些车牌信息也给过滤掉了,因此,应当适度。2.5字符分割完成车牌区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。对黑色区域进行水平垂直投影,计算水平垂直峰值,检测合理的字符高宽比.可用与区域分割相同的方法进行峰值的删除和合并。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符大小、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。按字符宽度切割出字符计算水平投影进行车牌水平校正去掉车牌的框架分析垂直投影找到每个字符中心位置图 2.2 字符分割步骤2.6模板匹配和字符识别字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。其中模板匹配是字符识别的最基本的方法之一,该方法是将要识别的字符与预告构造好了的模板进行比较,根据与模板的相似度大小来确定最终的识别结果。基本思想是:首先根据字符模板大小,确定一幅带有加权因子的骨架模板,然后,将切割下来的字符按照模板的大小进行归一化,包括大小的归一化和灰度的归一化,归一化后的字符图像与创建的模板进行匹配。变换后的图像中,亮度的高低指示相应区域与模板的匹配程度。通过检查匹配后图像的最大值,试验确定一个合适的阈值(这里240比较合适),显示亮度大于该阈值的点,也就是与模板的匹配程度最高的位置。本文主要采用基于模板匹配算法。首先将分割后的字符进行归一化,将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,通过不断完善识别算法来提高识别率,使采集到的图像最利于识别。2.7数据存储和显示输出显示识别结果,并且将识别结果保存在一个预先建立的Excel文件中,七个字符按照识别先后顺便一一存储起来就可以得到车牌信息。也可以通过打开Excel文件查看识别出来的结果车牌号码。3算法与实现本部分主要介绍一下在整个系统研究过程中所涉及的主要算法,以及实现的效果。除去次要的部分,关键的核心是车牌提取、倾斜校正、字符切割与识别等。操作系统:Windows XP实验环境:MATLAB 阈值处理简介 这部分没有跟本文没有多大关系,可以不要在数字图像处理中,图像分割占有非常重要的地位,很多时候对图像进行处理都要运用到图像分割技术,分割就得有分割点,而阈值便是分割点。一幅图像中含有大量的图像数据,在分割时,选择什么阈值就显得比较重要,因为直接关系到分割的效果。在本系统中会运用到阈值处理,而由于阈值处理的实现具有直观性和简单性,所以阈值处理在图像分割应用中占有重要的地位。假设直方图对应于图像f(x,y),该图像由背景相对较亮的对象组成,采用这种方法,目标和背景像素会具有两种主要模式的灰度级。一种从背景上提取对象的明显方法是选取一个阈值T来分离这两种模式。任何满足f(x,y)T的点(x,y)称为对象点,其他点称为背景点。换言之,阈值处理后的图像g(x,y)定义为: g(x,y)=1, 如果&fx,yT0, 如果&fx,yE0时就停止该点的计算,继续下一点计算。经过试验可知:被搜索图越大,匹配速度越慢;模板越小,匹配速度越快。误差法速度较快,阈值的大小对匹配速度影响大,和模板的尺寸有关。3.2.3改进的模板匹配算法在误差算法的基础上设计二次匹配误差算法:第一次匹配是粗略匹配。取模板的隔行隔列数据,即四分之一的模板数据,在被搜索图上进行隔行隔列扫描匹配,即在原图的四分之一范围内匹配。由于数据量大幅度减少,匹配速度显著提高。为了合理的给出一个误差阈值E0,我设计了一个确定误差阈值E0的准则:E0=e0m+12n+12其中,e0为各点平均的最大误差,一般取4050 即可;m,n为模板的长和宽。 第二次匹配是精确匹配。在第一次误差最小点imin,jmin的邻域内,即在对角点为imin-1,jmin-1,imin+1,jmin+1的矩形内,进行搜索匹配,得到最后结果。经试验可知:二次匹配误差法的速度比其它算法要快10倍左右。3.3输入待处理的原始图像研究的第一步是车牌相片的获取,即通过文件选择的方式读取待处理彩色图像,直接调用Matlab的内带函数uigetfile,用于创建标准的对话框并通过交互式操作取得文件名。Uigetfile的使用方法如下:uigetfile:显示一个模态对话框,对话框列出了当前目录下的文件和目录,用于可以选择一个将要打开的文件名。如果文件名是有效的且该文件存在,则当用户点击Open时函数uigetfile返回该文件名。若不存在,uigetfile显示一个控制返回对话框值的错误提示信息,此时用户可以输入另外的文件名或点击Cancel按钮。如果用户点击Cancel按钮或关闭对话框,函数uigetfile将返回0。函数格式为:FileName,PathName,FilterIndex=uigetfile(FilterSpec)创建并显示对话框,列出当前目录下的文件。FilterSpec决定文件的初始显示,它可以为一个文件全名或者包含通配符*,如*.jpg表示列出所有的图像文件。如果FilterSpec是一个包含文件名的字符串,则该文件名所在的文件名域将被选中并显示出来,且该文件的扩展名将作为过滤作用;如果FilterSpec是一个包含文件路径的字符串,例如./*.m表示列出当前目录上的所有M文件;如果FilterSpec是一个单元数组,则其第一列为扩展名列表,第二列为描述列表;如果FilterSpec没有指定路径对象,则uigetfile将使用默认路径下的所有文件类型。本设计中按照如下格式调用uigetfile函数来读取彩色图像。读取过程如图3.1所示。fn,pn,fi = uigetfile(*.jpg,选择图片);%读取*.jpg格式的图像文件 图3.1 读取图片选择运用imread函数来调用uigetfile函数读取的图像,调用结果如图3.2所示。图3.2 原始图像3.4车牌提取车牌提取是指将车牌从原始图像中分割出来以便进行后续处理,具体包含图像分割、修正,以及提取几个部分,而重点部分又是图像分割部分。本设计主要识别的对象是小型民用汽车,而该类汽车的车牌牌照全部为蓝底白字,而且车牌的长宽比例也是固定的,这些就是要识别的车牌的特点,而本系统中的车牌提取部分也正是利用了这些特点来进行车牌图像提取。 在RBG彩色图像中,uint8类RGB图像的取值范围是0,255,通过反复的手工实验,可以得出近似蓝色的取值范围是40,200,红色和绿色的范围呢?所以可以通过确定阈值在40,200范围类来找出近似蓝色的区域,以备用。然后根据车牌是蓝底白字的特点对已找到的蓝色区域进行搜索并记录统计白色像素点,如统计结果为没有白色像素点,则该蓝色区域肯定不是车牌区域,否则需要进行下一步判断,这样就可以判断提取的蓝色区域是否满足车牌的第一个特点。如满足第一个特点的不止一个区域,则需运用车牌的第二个特点长宽比例是固定的来进一步判断剩下的备选区域,如仍就满足条件,则为车牌所在区域,可对其进行修正并提取出来。在本设计中的具体过程为:1、假设所要处理的图像图片是二维平面图像,确定一个起始点分别从y方向和x方向开始搜索蓝色像素点并统计,而且定义zeros(y,1)统计y方向上的蓝色像素点,定义zeros(1,x)统计x方向上的蓝色像素点。2、通过y方向和x方向上的蓝色像素点所确定的区域的值与给定的已知的阈值进行比较,从而在y方向上确定出蓝色区域的上下边界,并且在x方向上确定出蓝色区域的起始点,这样就可以得到很多备选的蓝色区域。同时得出蓝色区域的长和宽,并记录。3、在(2)中所得的众多蓝色区域内进行白色像素点搜索,并统计。同时,计算出白色比例跟长宽比例。4、判断蓝色区域是否是车牌区域。如没有白色像素或长宽比不满足既定比例,则该区域不是车牌区域,否则就是车牌区域,进而可以将其提取出来。5、若蓝色区域不是车牌区域,则需要进行第二次x方向上的搜索,再次搜索采用增强型的两边往中间收缩进行搜索,这样可以防止车牌中间某些位置出现断层对搜索的影响。6、重复步骤(3)和步骤(4)的操作,进而确定出车牌所在区域。7、对车牌区域进行修正。因为前面步骤中获得的车牌区域没有车牌的边框,所以需要对所得区域稍加修正即可使车牌边框显示出来,从分割出完整的车牌。这里只需对前面所得区域的四个边界都向外扩展一个既定的距离,从而使所要提取的区域扩大,这样就能提取出整个车牌。8、对前面分割出来的车牌区域进行进一步修正。根据像素区域的大小的不同,对y方向上的宽和x方向上的长进行进一步修正。这里与步骤(7)中的修正的不同点在于:步骤(7)中向各个方向的修正值是相同的,而这里的y方向与x方向上的修正的不一定相同,主要根据像素区域的大小决定。9、提取出车牌图像并显示。经过以上步骤,可以提取出较为理想的车牌图像。在本设计中,设计了以下函数对图片进行分割。 PY2,PY1,PX2,PX1,m=caitu_fenge(I,fn);% 车牌图像分割函数其中,PY2,PY1,PX2,PX1,m分别代表车牌区域y方向上的下边界、上边界和x方向上的终点边界、起始边界,以及返回的阈值。设计并采用如下函数对车牌区域进行再次修正。 PY2,PY1,PX2,PX1,threshold=SEC_xiuzheng(PY2,PY1,PX2,PX1);%再次修正其中,PY2,PY1,PX2,PX1的意义与前面相同,而threshold为函数返回的一个阈值,该阈值表将在裁剪时用到。设计并采用如下函数对车牌图像进行提取。PY2,PY1,PX2,PX1=caitu_tiqu(I,I_bai) ;%彩图_车牌提取 该函数与车牌分割函数的原理和作用基本上相同,但是没有返回阈值,而且提取过程中处理也简单些了。车牌图像提取结果如图3.3所示。图3.3 车牌提取结果说明:由于深港两地车牌为黑底白字,因此在车牌分割后就可以直接判断出不满足蓝底白字的要求,因此经过车牌分割这一步骤之后就可以直接分别出来,所以不再对其进行后续识别处理。3.5图像的灰度化彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。选择的标准是经过灰度变换后,像素的动态范围增加,图像的对比度扩展,使图像变得更加清晰、细腻、容易识别。将彩色图像转换为二值的黑白灰度图像只需直接调用Matlab内带函数rgb2gray即可,具体调用为:bw=rgb2gray(bw);图像灰度化后的效果如图3.4所示。 图3.4 图像灰度处理后3.6倾斜校正 在本设计中,字符切割时,要对图像进行扫描,并且统计像素点数目并累计,当累计到一点数目时,达到预定的阈值时,就被认定为一个字符,如果图像不水平,就会影响扫描结果,进而导致字符切割不准或失败,所以在切割之前必须进行倾斜校正,即对存在倾斜角度的图片进行倾斜校正,以便获得水平方向的图片。可调用如下函数完成校正任务: Rando_bianhuan(I) 该函数使用边缘检测函数edge识别经过灰度处理的车牌图像的边界,并且定义角度theta=1:180,然后调用Matlab内带的radon变换函数识别出倾斜角度并记录。Radon变换是一幅图像在一个特定的角度下的径向线方向的投影。Radon在该函数中的具体使用方法为:R,xp = radon(I,theta) 该函数中,对应于R中的每一行,返回一个包含径向坐标的向量xp。xp中的径向坐标是沿着X轴的数值,其为在theta下,X轴逆时针方向映射来的。 如记录的角度为J,则需要旋转的角度为90-J。旋转时调用Matlab内带的imrotate()函数,如需旋转的角度定义为负值,则图像顺时针旋转,正值则沿着逆时针方向旋转。旋转校正之后的效果如图3.5所示。 图3.5 倾斜校正处理后3.7图片后处理对经过倾斜校正之后的图片,还需要进行一些后处理,以便获得更好的信息。主要是擦除干扰和对图片做进一步的裁剪,把过多的边界裁剪掉,仅留下车牌字符。在裁剪之前,首先得对干扰进行处理,以防裁剪时将车牌信息也裁剪掉了。由于图像是高清数码相机所拍摄的静态车牌,所以干扰比较少,不需要进行特别复杂高效的干扰处理,只需简单处理一下即可。对干扰进行处理时,只需图像转换为基于阈值的二进制图像,直接调用Matlab的内带函数im2bw(),调用格式为:Bw = im2bw(bw,graythresh(bw)其中,graythresh(bw)为阈值,函数graythresh 能用来自动计算变量阈值,具体介绍可参见3.0中的简介,输出图bw将输入图像中亮度值大于graythresh(bw)的像素替换为值1 (白色),其他替换为值0(黑色)。指定graythresh(bw)在 0,1之间, 不用管输入图像的等级。如果你不指定阈值,im2bw则默认使用 0.5。然后调用Matlab内带函数bwmorph提取二进制图像的轮廓,并且调用Matlab内带的bwareaopen函数删除二进制图像中面积小于threshold的对象,对剩下的没被删除的对象调用自己定义的touying函数进行投影,从而可得到只有车牌号码的黑白图像,如图3.6所示。其中,touying函数从右往左,从上往下进行投影,并且投影过程中要统计黑点数目,在寻找图片上下边界时,从两端向中间进行搜索,还有在整个过程中也要使用阈值,在确定左边边界时,先预定义一个值1,当不大于投影往下面投影的统计值的十四分子一的整数小于等于1时,即为左边界,找到三个边界即可得到只有车牌号码的黑白图像,即图3.6所示图像。图3.6 擦除干扰等处理后效果3.8字符切割车牌号码由汉字、字母、数字三种字符组成,而且组成形式为汉字+字母+数字或汉字+字母+数字+汉字两种,前面是小型民用汽车车牌的组成形式,也是本系统主要处理的车牌类型,后一种形式的是指某些有特定意义的汽车的车牌,如大使馆的汽车最后有一个红色的使字。在字符切割时也将运用这一特点。字符切割采用累积计数的方法,对每一行,每一列的黑色像素点进行统计,然后累积像素与设定的阈值进行比较,当累计像素达到设定的阈值时,被认为是一个字符,然后进行切割。根据车牌的特点,可以对车牌中的汉字、字母、数字进行定位,对应位置分割出来的分别为汉字、字母、数字三种不同的字符,而且这样也有利于后面的识别过程的效率的提高。在本设计中定义如下函数对字符进行分割。function fenge = shuzifenge(imfenge,qingxiejiao) %字符分割函数 该函数首先设定分割阈值,然后开始黑色像素搜索,当搜索统计的像素达到设定的阈值时,即被认定为一个字符,切割出来;然后继续搜索,继续确定其它字符,直到字符被全部切割出来为止。切割之后的字符图样如图3.7所示。图3.7 字符切割效果说明:为了区别数字“1”和字母“l”,如遇到数字“1”,字符长度会自动增加,正如图3.7所示的效果一样。3.9字符识别字符识别过程采用模板匹配算法进行识别,关于模板匹配算法原理可参考3.1。具体识别步骤如下:1、对字符进行归一化处理。在3.7已经将字符分割开来了,但是分割开之后的字符的大小等数据并不一定相同,也就无法进行正确的匹配识别,所以需要通过对分割出来的字符进行归一化处理使它们具有相同的属性。2、字符模板存储。将分割字符进行归一化处理后,将它们以模板的形式存储(存储格式为位图)在字符模板库中。这样便可以得到一个字符模板库。注意:生成模板库时,并不是随便排列的,而是按照数字(从0到9)、字母(从A到Z)、汉字的顺序排列的,目的是为了提高识别效率。3、对分割字符分别进行黑白像素的统计,然后根据统计像素与模板大小的比例判断出识别的结果,并且依次保存。4、导出文本。输出并显示识别结果直接调用Matlab内带的msgbox函数即可。然后调用Matlab内带的fopen函数打开预先建立的表格,并调用Matlab内带的fprintf函数将识别结果写入表格中,最后保存写入的识别结果并关闭表格。在以上四个步骤中,前面三个步骤为字符的识别过程,第四步是对识别结果的输入显示和保存。最终显示的识别结果如图3.8所示。图3.8 识别结果效果 当然,也可以通过直接打开保存了车牌识别结果的Excel文件查看识别出来的结果车牌号码。4 系统运行结果分析 系统运行基本正常,大部分满足条件的车牌号码能被正确识别出来,但是部分车牌目前还无法正确识别出来,如车牌号码所有数字都相同时,识别会出错。还有,在识别过程中,可能会遇到图4.1所示问题: 图4.1 出错识别从上面结果可以看出,这张车牌的识别存在着一点问题,将“S”误识别为“5”。在识别中还可能出错的有“0”和“8”,“粤”和“京”,“A”和“4”等。由于时间的关系,目前已对后面一个问题中的部分修改好了,而其他部分还可以进行优化改进,通过进一步修改程序,在某些方面做些弥补,最后达到识别效果。由此可知,在车牌识别的过程中数字库的建立很重要,只有数字库的准确才能保证识别出来的数据正确。5结束语本设计所采用的基于彩色分量的定位方法,运用基于蓝色象素点统计特性的方法对蓝底车牌进行定位,通过实验数据表明,用该方法实现的车牌定位准确率较高。本设计只对蓝底白字车牌进行分割识别,针对其他颜色的车牌,则需要对车牌定位算法进行进一步的调整,而车牌字符的分割算法仍然有效。本设计所采用的图片都是用1000万像素相机拍摄的,清晰地比较高,因此效果比较好,如果图片质量不高,识别还存在着一定的问题,识别率也会下降,因此还需要进一步对算法进行改进,才能达到较好的效果。4 系统运行结果与分析内容太少,其它显示结果的地方也可以增加一些图片说明。把模板匹配部分可放在后面一点。【注释】 、摘自数字图像处理(MATLAB版),作者:冈萨雷斯 、 摘自期刊文档图像处理技术模板匹配算法,作者:左力【参考文献】1 冈萨雷斯 数字图像处理 (第二版) 北京电子工业出版社 2007.82 冈萨雷斯 数字图像处理(MATLAB版) 北京电子工业出版社 2005.93 赵丹 等 基于MATLAB的车牌识别 大连工业大学学报 2007.94 王刚 等 基于MATLAB的车牌识别系统的研究 电子设计工程 2009.115 葛哲学 精通MATLAB 电子工业出版社 2008.26 百度资料库 网址:/7 左力 图像处理技术模板匹配算法 2002.38 Milind M. Mushrif , Ajoy K. Ray ,Color image segmentation: Rough-set theoretic approach,Pattern Recognition Letters,29(2008)483-493 9 钱成,卢珏 车牌识别中字符分割的研究 中国科技论文在线 2011.110 朱俊梅,陈少平 基于改进的投影方法的车牌图像字符分割 中央民族大学学报(自然科学版) 2007.411 郭大波 彩色汽车图像车牌定位技术分析 山西大学学报(自然科学版) 2005.112 Yanli Zhai A novel variational model for image segmentation Journal of Computational and Applied Mathematics 2011 No.8致谢这次基于Matlab的静态车牌识别系统毕业设计的完成,首先要感谢我的导师毕业设计初期,由于没有上过这门课,对相关知识不是很了解,老师的细心指导给予了我很大的帮助。毕业设计期间,对于相关问题的释疑与探讨,老师提出了宝贵的意见以及新的思路
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级物理下册 第七章 从粒子到宇宙 二 静电现象说课稿 (新版)苏科版
- 本册综合说课稿-2025-2026学年小学信息技术(信息科技)第二册黔教版
- 2025年企业安全生产风险分级管控实务操作试题解析
- 2025年摄影师职业技能鉴定综合模拟试卷
- 2025年专升本艺术概论模拟试题(艺术科技融合下的艺术市场变革)
- 2025年执业药师药学专业知识试卷九:药物制剂工艺与质量控制试题
- 2025年统计学期末考试题库-统计调查实施中的林业数据分析试题
- 2025年期货从业资格考试法律法规与金融法律法规试题试卷
- 2025年高压电工考试题库:高压电工安全事故应急处理与
- 202年初中学业水平考试地理模拟试卷及答案-图表解读难点解析
- 商务英语词汇大全
- 人教PEP版(一起)(2024)一年级上册英语全册教案(单元整体教学设计)
- 护士职业防护
- 酒店公共卫生事件应急预案
- 2024-2025学年小学劳动一年级上册人教版《劳动教育》教学设计合集
- 五年级开学第一课
- DL∕T 1664-2016 电能计量装置现场检验规程
- DL∕T 1455-2015 电力系统控制类软件安全性及其测评技术要求
- 临床护理“三基”应知应会汇编
- 家委会给老师的感谢信
- OpenStack私有云基础架构与运维(openEuler版)全套教学课件
评论
0/150
提交评论