




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【关键字】模板文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持1文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持2文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持基于Matlab的静态车牌识别计算机与软件学院计算机科学与技术钟文锋学号:94【摘要】:车牌识别是图像识别领域的重要研究课题,运用 MATLAB技术研究车牌识别技术 中的图像预处理、车牌定位、字符分割与字符识别等核心部分,并提出一种基于MATLAB的静态车牌识别系统的实现方法,综合使用多种方法提高系统的有效识别能力。该方法解决了
2、在自然背景的图像中定位分割牌照区域、车牌倾斜和提取分割的字符等问题。本文叫详细介绍了该系统的实现方法等技术,重点介绍车牌提取、字符分割,以及字符的模板匹配三个方面。通过对一定数量的车牌图像进行识别处理,结果表明MATLAB在车牌静态识别方面的运用有较好的效果。非常有效。【关键词】车牌识别;字符分割;图像提取;字符识别;模板匹配;阈值;倾斜校正等。 关键字3-4个1引言随着我国经济的快速发展,人民生活水平的不断提高,私有车辆越来越多,交通需求量 也越来越大,现有的交通基础设施建设速度远远比不上机动车辆和其他交通工具的增长速 度;传统的人工管理方式已经越来越不能满足实际工作的需要。为快速、高效地对
3、车辆进行管理和监控,实现交通管理的自动化、智能化,车牌自动识别技术在智能交通系统中已成为核心技术比。车辆牌照是机动车唯一的管理标识符号.在交通管理中具有不可替代的作用。 因此车辆牌照识别系统应具有很高的识别率,对环境光照条件、拍摄位置和车辆行驶速度等因素的影响应有较大的容阈,并应满足实时性要求。 牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。其硬件一般包括触发、摄像、照明、图像采集等设备。其软件核心包括车牌定位、车牌字符分割和字符识别等算法。 利用该技术可以实现对车辆的自动登记、验证、监视和报警, 高速公路收费,对停车场进行管理,特殊场所车辆的出入
4、许可等。传统的实现车牌识别的软件是采用C+来实现的,本文将采用MATLAB对软件实现方式作初步尝试性探讨。用 MATLAB作车牌识别比用其他工具 有许多优势,因为MA TLAB的函数隐藏了傅立叶变换等复杂的计算,并且在图像的灰度化、 二值转换和滤波等方面都有很大优势。本设计是在采集了车牌相片之后对其号码进行识别, 并输出号码。选题意义汽车牌照自动识别系统是以汽车牌照为特定目标的专用计算机视觉系统,是计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一,是实现交通管理智能化的重要环节,它可广泛应用于交通流量检测,交通控制与诱导,机场、港口、小区的车辆管理,不停 车自动收费,闯红灯等违章车
5、辆监控以及车辆安全防盗等领域,具有广阔的应用前景。目前,发达国家LPR (汽车牌照识别技术 License Plate Recognition , LPR,简称车牌通”)系统 在实际交通系统中已成功应用,而我国的开发应用进展缓慢,车牌识别系统基本上还停留在实验室阶段。基于这种现状还有它广阔的应用前景,目前对汽车车牌的识别研究就有了深远的意义。正如参考资料的介绍一样,目前已经有大量的车牌识别系统的相关资料,但是那些系统1文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持基本上都是直接将彩色图像转换为二值图像,然后再进行后续处理,而本课题需要研究的是先
6、从彩色图像中提取车牌,然后再接着做其它与已有处理过程相似的处理,。其中,从彩色图像中提取包含车牌信息的图像是本设计的主要意义所在,也是重点。而其他部分是在已有成果的基础上进行的改进或引用。Matlab与图像处理简介MATLAB是由美国math works公司发布的主要面对科学计算、可视化以及交互式程序 设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的 建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑
7、模式,代表了当今国际科学计算软件的先进水平。MATLAB 和、并称为三大数学软件。它在数学类科技应用软件中在方面首屈一指。 MATLAB可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言 的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相 似,MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出 来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、 动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB
8、对整个图形处理功能作了很大的改进和完善, 使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等) 方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI )的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。数字图彳处理(Digital Image Processing)是通过对图像进行去除噪声、增强、复原、分割、提取特征
9、等处理的方法和技术。而图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法, 但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、 复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模 式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的和人工神经网络模式分类在图
10、像识别中也越来越受到重视。2系统简介本设计研究的车牌识别系统是一项利用车辆的静态图像进行车牌号码的自动识别的模 式识别技术。一个完整的车牌识别系统应包括图像采集和车牌识别等几部分。车牌识别技 术中车牌定位、字符切割、字符识别及后处理是其关键技术。车牌识别单元对图像进行处 理,定位出车牌位置,再将车牌中的字符分割出来进行识别,然后组成完整的车牌号码输 出。具体步骤如下:2文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持图2.1 系统开发流程图图中箭头不规范本设计是在静态车牌图像的及基础上对车牌进行识别,故车牌图像采集不做介绍,而 图像预处理就是对图
11、像进行一些简单的处理,如增加亮度等,也不是设计的重点,也不做 详细介绍。下面介绍一下其他几个模块:车牌区域定位自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区 域是整个识别过程的关键。本系统主要针对家庭小型车蓝底白字车牌进行识别,根据彩色 图像的RGB比例定位出近似蓝色的候选区域。由于深港两地车牌为黑底白字,因此在车牌 识别最初阶段将其分离出来,直接判断,不再进行后期处理。在图片中出现较多的蓝色背 景情况下识别率会下降,不能有效提取车牌区域。通过自适应调节方案对分割出来的区域 进行识别调整,根据车牌的长宽比,蓝白色比例对候选区域进行多次定位,最终准确定位 出车牌区域。
12、车牌图像灰度化由于本系统的处理的车牌图像是在室外用高清数码相机拍摄的,因此原始图像的数据一般比较大,所以对其进行处理的时间一般也较长,而由于实时性的要求,车牌的提取需要一次性处理就能把绝大多数特征提取出来。所以需要把得到的图像转化为灰度图像,这样会大大减少数据量,为实时性提供一定程度的保证。灰度化后的车牌要能再现原字符图像,基本不出现笔画断裂和粘连现象,尽量不丢失原字符的特征。倾斜校正如果车牌不是水平的,那么在后面的字符分割搜索时便不能保证每次是在对同一个字 符进行黑色像素统计,即会导致识别出错。所以对于存在倾斜角度的图片,需要进行倾斜 校正,本文采取rando算法进行倾斜角度的计算,然后对倾
13、斜图片进行修正,得到水平方 向一致的图片,便于进行后期的图片分割及图像识别。车牌后处理准确定位出车牌位置后,还需要对车牌进行的后处理,以便进一步提前出车牌信息。 其中包括车牌区域二值化、擦除干扰、滤波等。车牌区域变成二值图像能够大大的节省存 储空间,而且能降低运算了,从而有效的提高处理效率。擦除干扰是把除去车牌多余的信 息给擦除掉,然后通过滤波获得更好的处理效果,但如果阈值选择不好,可能把把某些车 牌信息也给过滤掉了,因此,应当适度。字符分割完成车牌区域的定位后,再将牌照区域分割成单个字符,然后进行识别。字符分割一 般采用垂直投影法。对黑色区域进行水平垂直投影,计算水平垂直峰值,检测合理的字符
14、高宽比,可用与区域分割相同的方法进行峰值的删除和合并。由于字符在垂直方向上的投影必去掉车牌3文档犯!学品联网,如按字符宽度切割出字符然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书 写格式、字符大小、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像 中的字符分割有较好的效果。计算水平投影进 行车牌水平校正文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持图2,2字符分割步骤模板匹配和字符识别字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。其中模板匹配是 字符识别的最基本的方法之一,该方法是将要识别的字符与预告构造好了的模板进行比
15、较, 根据与模板的相似度大小来确定最终的识别结果。基本思想是:首先根据字符模板大小, 确定一幅带有加权因子的骨架模板,然后,将切割下来的字符按照模板的大小进行归一化,包括大小的归一化和灰度的归一化,归一化后的字符图像与创建的模板进行匹配。变换后的图像中,亮度的高低指示相应区域与模板的匹配程度。通过检查匹配后图像的最大值,试验确定一个合适的阈值(这里240比较合适),显示亮度大于该阈值的点,也就是与模板的匹配程 度最高的位置。本文主要采用基于模板匹配算法。首先将分割后的字符进行归一化,将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。实际应用中,牌照识别
16、系统的识别率与牌照质量和拍摄质量密切相关。牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反 光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素 的影响。这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件, 通过不断完善识别算法来提高识别率,使采集到的图像最利于识别。数据存储和显示输出显示识别结果,并且将识别结果保存在一个预先建立的Excel文件中,七个字符按照识别先后顺便一一存储起来就可以得到车牌信息。也可以通过打开Exc
17、el文件查看识别出来的结果车牌号码。3算法与实现本部分主要介绍一下在整个系统研究过程中所涉及的主要算法,以及实现的效果。除去次要的部分,关键的核心是车牌提取、倾斜校正、字符切割与识别等。操作系统:Windows XP实验环境:MATLAB 7.0,13.1阈值处理简介 这部分没有跟本文没有多大关系,可以不要在数字图像处理中,图像分割占有非常重要的地位,很多时候对图像进行处理都要运用到图像分割技术,分割就得有分割点,而阈值便是分割点。一幅图像中含有大量的图像数据, 在分割时,选择什么阈值就显得比较重要,因为直接关系到分割的效果。在本系统中会运用到阈值处理,而由于阈值处理的实现具有直观性和简单性,
18、所以阈值处理在图像分割应用中占有重要的地位。假设直方图对应于图像f(x,y),该图像由背景相对较亮的对象组成,采用这种方法,目标和背景像素会具有两种主要模式的灰度级。一种从背景上提取对象的明显方法是选取一个阈值T来分离这两种模式。任何满足 K勺力三丁的点(x,y)称为对象点,其他点 称为背景点。换言之,阈值处理后的图像g(x,y)定义为:4文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持.标注为1的像素对应于对象,而标注为 0的像素则对应于背景。 T为常数时,这种方法称为全 局阈值处理,而允许阈值变化的方法称为局部阈值处理。本设计中采用的就是基于
19、直方图的全局阈值处理。具体步骤如下:1、为T选一个初始估计值(一般选图像中的最大亮度值和最小亮度值的中间值)。2、使用T分割图像。结果会产生两组彳t素:亮度值大于等于T的所有像素组成的亮度值小于阴所有像素组成的?。3、计算与和G二范围内的像素的平均亮度值甲2。4、计算一个新阈值:7 =软1 +出)5、重复步骤2到步骤4,直到连续迭代中T的差比预先指定的参数 丁。小为止。在Matlab的工具箱中提供了一个称为graythresh的函数,该函数使用 Otsu方法来计算阈值。为检验这种基于直方图的方法,从处理一个离散概率密度函数的归一化直方图开始, 如下所示:PrTq)=打 q = 0,1,2,,L
20、-1其中,n是图像中的像素总数,”是灰度级为7的像素数目,L是图像中所有可能的灰度级数。假设现在已经选定了一个阈值k, 是一组灰度级为0,1,2,3,k-1的像素,匚1是一组灰度级为k,k+1,,L-1的像素。Otsu方法选择最大化类间方差 *的阈值k,类间方差定义为: 扁二%0出-的,) 一 +叫孙丁)彳其中,L-i TOC o 1-5 h z %=2 %(%) 晒二 y 媪%) 卬三仆;L- 1=丫;L-1广郎(%)Q - 0函数graythresh 取一幅图像,计算它的直方图,找到最大化琥的阈值,阈值返回为 0.0和1.0之间的归一化值。函数 graythresh 的调用语法为T = g
21、raythresh(f)其中,f是输入图像,T是产生的阈值。为了分割图像,在函数 im2bw中使用阈值T。因为5文档收集于互联网,如有不妥请联系删除.文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持阈值已被归一化到范围0,1,所以必须在使用阈值之前将其缩放到合适的范围。模板匹配简介 这个符号表示什么,参考资料要用上角标。认知是一个把未知与已知联系起来的过程。对一个复杂的视觉系统来说,它的内部常同时存在着多种输入和其它知识共存的表达形式。感知是把视觉输入与事前已有表达结合的过程,而识别也需要建立或发现各种内部表达式之间的联系。匹配就是建立这些联系的技术和过程。建立联系的目的是为了用已
22、知解释未知。(章毓晋图像工程 下册P.163)模板匹配的基本概念模板就是一幅已知的小图像。模板匹配就是在一幅大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像,通过一定的算法可以在图中找到目标,确定其坐标位置。以8位图像(其1个像素由1个字节描述)为例,模板T(腔N个像素)叠放在被搜索图S(W X1人像素)上平移,模板覆盖被搜索图的那块区域叫子图$儿i , j为子图左上角在被搜索图S上的坐标。搜索范围是:公式要有标号通过比较T和的相似性,完成模板匹配过程。用以下等式衡量 T和%的相似性:-HSJ? SM 即.vm In = 1r” = Iri = 1m - Ijj
23、 - 1in I n J该式中S的角标与前述不符上式的第一项为子图的能量,第三项为模板的能量, 都与模板匹配无关。 第二项是模板ZZx Re*) m = In = 1MJ)=和子图的互相关,随 GJ)而改变。当模板和子图匹配时,该项有极大值。将其归一化,得模 板匹配的相关系数:nj五i7fitm 1 k h 1 m = In-1当模板和子图完全一样时,相关系数则)=1。在被搜索图S中完成全部搜索后, 找出R勺最大值用的*肺八),其对应的子图加朋即为匹配目标。显然,用这种公式做图像匹配计算量大、速度较慢.另一种算法是衡量 可口%,的误差,其公式为:6文档收集于互联网,如有不妥请联系删除文档来源为
24、:从网络收集整理,word版本可编辑.欢迎下载支持后办= I WomA r佃,叫 m = 1 fj = 1其中,EUJ)为最小值处即为匹配目标。为提高计算速度,取一个误差阈值% ,当讥讨)二 瓦j时就停止该点的计算,继续下一点计算。经过试验可知:被搜索图越大,匹配速度越慢;模板越小,匹配速度越快。误差法速 度较快,阈值的大小对匹配速度影响大,和模板的尺寸有关。在误差算法的基础上设计二次匹配误差算法: 第一次匹配是粗略匹配。取模板的隔行隔 列数据,即四分之一的模板数据, 在被搜索图上进行隔行隔列扫描匹配, 即在原图的四分之 一范围内匹配。由于数据量大幅度减少,匹配速度显著提高。为了合理的给出一个
25、误差阈值岛,我设计了一个确定误差阈值 埒的准则:% = % X ?W-其中,q为各点平均的最大误差,一般取 处宓 即可;m,n为模板的长和宽。第二次匹配是精确匹配。在第一次误差最小点(Ml,的邻域内,即在对角点为&/.二1,九说二1亿储1+1,/廿4 + L)的矩形内,进行搜索匹配,得到最后结果。经试验可知:二次匹配误差法的速度比其它算法要快10倍左右。输入待处理的原始图像研究的第一步是车牌相片的获取,即通过文件选择的方式读取待处理彩色图像,直接调用Matlab的内带函数uigetfile ,用于创建标准的对话框并通过交互式操作取得文件名。 Uigetfile的使用方法如下:uigetfile
26、 :显示一个模态对话框,对话框列出了当前目录下的文件和目录,用于可以 选择一个将要打开的文件名。如果文件名是有效的且该文件存在,则当用户点击Open寸函数uigetfile返回该文件名。若不存在,uigetfile显示一个控制返回对话框值的错误提示信息,此时用户可以输入另外的文件名或点击Cancel按钮。如果用户点击 Cancel按钮或关闭对话框,函数uigetfile 将返回0。函数格式为:FileName,PathName,FilterIndex = uigetfile(FilterSpec)创建并显示对话框,列出当前目录下的文件。 FilterSpec决定文件的初始显示,它可以 为一个文
27、件全名或者包含通配符*,如*, jpg 表示列出所有的图像文件。如果FilterSpec是一个包含文件名的字符串,则该文件名所在的文件名域将被选中并显示出来,且该文件的扩展名将作为过滤作用;如果FilterSpec是一个包含文件路径的字符串,例如./*,m 表示列出当前目录上的所有 Mt件;如果FilterSpec是一个单元数组,则其第一列为扩展名列 表,第二列为描述列表;如果 FilterSpec没有指定路径对象,则 uigetfile将使用默认路径下的所有文件类型。本设计中按照如下格式调用uigetfile函数来读取彩色图像。读取过程如图3.1所示。fn,pn,fi = uigetfile
28、(*.jpg,选择图片);%读取*,jpg格式的图像文件7文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持图3.1 读取图片选择运用imread函数来调用uigetfile 函数读取的图像,调用结果如图 3.2所示。图3.2 原始图像车牌提取车牌提取是指将车牌从原始图像中分割出来以便进行后续处理,具体包含图像分割、修 正,以及提取几个部分, 而重点部分又是图像分割部分。本设计主要识别的对象是小型民用汽车,而该类汽车的车牌牌照全部为蓝底白字,而且车牌的长宽比例也是固定的,这些就是要识别的车牌的特点,而本系统中的车牌提取部分也正是利用了这些特点来进行
29、车牌图像提 取。在RB彰色图彳中,uint8类RGI像的取彳1范围是0,255,通过反复的手工实验, 可以 得出近似蓝色的取值范围是40,200,红色和绿色的范围呢?所以可以通过确定阈值在40,200范围类来找出近似蓝色的区域,以备用。然后根据车牌是蓝底白字的特点对已找到的蓝色区域进行搜索并记录统计白色像素点,如统计结果为没有白色像素点,则该蓝色区域肯定不是车牌区域,否则需要进行下一步判断,这样就可以判断提取的蓝色区域是否满足车牌的第一个特点。如满足第一个特点的不止一个区域,则需运用车牌的第二个特点一一长宽比例是固定的来进一步判断剩下的备选区域,如仍就满足条件,则为车牌所在区域, 可对其进行修
30、正并提取出来。在本设计中的具体过程为:1、假设所要处理的图像图片是二维平面图像,确定一个起始点分别从y方向和x方向开始搜索蓝色像素点并统计, 而且定义zeros(y , 1)统计y方向上的蓝色像素点, 定义zeros(1 , x)统计x方向上的蓝色像素点。2、通过y方向和x方向上的蓝色像素点所确定的区域的值与给定的已知的阈值进行比较, 从而在y方向上确定出蓝色区域的上下边界,并且在x方向上确定出蓝色区域的起始点,这样就可以得到很多备选的蓝色区域。同时得出蓝色区域的长和宽,并记录。3、在(2)中所得的众多蓝色区域内进行白色像素点搜索,并统计。同时,计算出白色比例跟长宽比例。4、判断蓝色区域是否是
31、车牌区域。如没有白色像素或长宽比不满足既定比例,则该区 域不是车牌区域,否则就是车牌区域,进而可以将其提取出来。5、若蓝色区域不是车牌区域,则需要进行第二次x方向上的搜索,再次搜索采用增强型 的两边往中间收缩进行搜索,这样可以防止车牌中间某些位置出现断层对搜索的影响。6、重复步骤(3)和步骤(4)的操作,进而确定出车牌所在区域。7、对车牌区域进行修正。因为前面步骤中获得的车牌区域没有车牌的边框,所以需要 对所得区域稍加修正即可使车牌边框显示出来,从分割出完整的车牌。 这里只需对前面所得区域的四个边界都向外扩展一个既定的距离,从而使所要提取的区域扩大,这样就能提取出整个车牌。8、对前面分割出来的
32、车牌区域进行进一步修正。根据像素区域的大小的不同, 又y方向上的宽和x方向上的长进行进一步修正。这里与步骤 (7)中的修正的不同点在于:步骤 (7)中 向各个方向的修正值是相同的, 而这里的y方向与x方向上的修正的不一定相同, 主要根据像 素区域的大小决定。9、提取出车牌图像并显示。经过以上步骤,可以提取出较为理想的车牌图像。在本设计中,设计了以下函数对图片进行分割。8文档收集于互联网,如有不妥请联系删除.文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持PY2,PY1,PX2,PX1,m=caitu_fenge(I,fn);%车牌图像分割函数其中,PY2,PY1,PX2,PX1,m
33、分别代表车牌区域y方向上的下边界、上边界和x方向上的终点边界、起始边界,以及返回的阈值。设计并采用如下函数对车牌区域进行再次修正。PY2,PY1,PX2,PX1,threshold=SEC_xiuzheng(PY2,PY1,PX2,PX1);%再次修正其中,PY2,PY1,PX2,PX1的意义与前面相同,Wthreshold为函数返回的一个阈值,该阈值表将在裁剪时用到。设计并采用如下函数对车牌图像进行提取。PY2,PY1,PX2,PX1=caitu_tiqu(I,I_bai);哪图 _车牌提取该函数与车牌分割函数的原理和作用基本上相同,但是没有返回阈值,而且提取过程中处理也简单些了。车牌图像提
34、取结果如图3,3所示。图3.3车牌提取结果说明:由于深港两地车牌为黑底白字,因此在车牌分割后就可以直接判断出不满足蓝底白字的要求,因此经过车牌分割这一步骤之后就可以直接分别出来,所以不再对其进行后续识别处理。图像的灰度化彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。选择的标准是经过灰度变换后,像素的动态范围增加,图像的对比度扩展,使图像变得更加清晰、细腻、容易识别。将彩色图像转换为二值的黑白灰度图像只需直接调用Matlab内带函数rgb2gray即可,具体调用为:bw=rgb2g
35、ray(bw);图像灰度化后的效果如图3.4所示。图3.4 图像灰度处理后倾斜校正在本设计中,字符切割时,要对图像进行扫描,并且统计像素点数目并累计,当累计 到一点数目时,达到预定的阈值时,就被认定为一个字符,如果图像不水平,就会影响扫描结果,进而导致字符切割不准或失败,所以在切割之前必须进行倾斜校正,即对存在倾斜角度的图片进行倾斜校正,以便获得水平方向的图片。可调用如下函数完成校正任务:Rando_bianhuan(I)该函数使用边缘检测函数edge识别经过灰度处理的车牌图像的边界,并且定义角度theta=1:180 ,然后调用 Matlab内带的radon变换函数识别出倾斜角度并记录。Ra
36、don变换是一幅图像在一个特定的角度下的径向线方向的投影。Radon在该函数中的具体使用方法为:R,xp = radon(I,theta)该函数中,对应于 R中的每一行,返回一个包含径向坐标的向量xp。xp中的径向坐标是?占着X轴的数值,其为在theta下,X轴逆时针方向映射来的。9文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持如记录的角度为J,则需要旋转的角度为 90-J。旋转时调用Matlab内带的imrotate ()函数,如需旋转的角度定义为负值,则图像顺时针旋转,正值则沿着逆时针方向旋转。旋转校正之后的效果如图3.5所示。图3.5倾斜
37、校正处理后图片后处理对经过倾斜校正之后的图片,还需要进行一些后处理,以便获得更好的信息。主要是 擦除干扰和对图片做进一步的裁剪,把过多的边界裁剪掉,仅留下车牌字符。在裁剪之前,首先得对干扰进行处理,以防裁剪时将车牌信息也裁剪掉了。由于图像 是高清数码相机所拍摄的静态车牌,所以干扰比较少,不需要进行特别复杂高效的干扰处理, 只需简单处理一下即可。对干扰进行处理时,只需图像转换为基于阈值的二进制图像,直接调用Matlab的内带函数im2bw(),调用格式为:Bw = im2bw(bw,graythresh(bw)其中,graythresh(bw)为阈值,函数graythresh 能用来自动计算变量
38、阈值,具体介绍可参 见3,0中的简介,输出图bw将输入图像中亮度值大于graythresh(bw)的像素替换为值1 (白色),其他替换为值0(黑色)。指定graythresh(bw) 在0,1之间,不用管输入图像的等 级。如果你不指定阈值,im2bw则默认 使用0.5。然后调用 Matlab内带函数bwmorph提 取二进制图像的轮廓,并且调用Matlab内带的bwareaopen函数删除二进制图像中面积小于 threshold 的对象,对剩下的没被删除的对象调用自己定义的touying函数进行投影,从而可得到只有车牌号码的黑白图像,如图 3,6所示。其中,touying函数从右往左,从上往下
39、 进行投影,并且投影过程中要统计黑点数目,在寻找图片上下边界时,从两端向中间进行搜索,还有在整个过程中也要使用阈值,在确定左边边界时,先预定义一个值1,当不大于投影往下面投影的统计值的十四分子一的整数小于等于1时,即为左边界,找到三个边界即可得到只有车牌号码的黑白图像,即图 3,6所示图像。图3.6擦除干扰等处理后效果字符切割车牌号码由汉字、字母、数字三种字符组成,而且组成形式为汉字+字母+数字或汉字+字母+数字+汉字两种,前面是小型民用汽车车牌的组成形式,也是本系统主要处理的车牌类型,后一种形式的是指某些有特定意义的汽车的车牌,如大使馆的汽车最后有一个红色的使字。在字符切割时也将运用这一特点
40、。字符切割采用累积计数的方法,对每一行,每一列的黑色像素点进行统计,然后累积像素与设定的阈值进行比较,当累计像素达到设定的阈值时,被认为是一个字符,然后进行切割。根据车牌的特点,可以对车牌中的汉字、字母、数字进 行定位,对应位置分割出来的分别为汉字、字母、数字三种不同的字符,而且这样也有利于后面的识别过程的效率的提高。在本设计中定义如下函数对字符进行分割。function fenge = shuzifenge(imfenge,qingxiejiao) %字符分割函数该函数首先设定分割阈值,然后开始黑色像素搜索,当搜索统计的像素达到设定的阈值 时,即被认定为一个字符,切割出来;然后继续搜索,继续
41、确定其它字符,直到字符被全部 切割出来为止。切割之后的字符图样如图3,7所示。图3,7字符切割效果说明:为了区别数字“ 1”和字母“ l ”,如遇到数字“ 1,字符长度会自动增加,正如 图3,7所示的效果一样。10文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持3.9字符识别字符识别过程采用模板匹配算法进行识别,关于模板匹配算法原理可参考3.1。具体识别步骤如下:1、对字符进行归一化处理。在 3.7已经将字符分割开来了,但是分割开之后的字符的 大小等数据并不一定相同,也就无法进行正确的匹配识别,所以需要通过对分割出来的字符进行归一化处理使它们具有
42、相同的属性。2、字符模板存储。将分割字符进行归一化处理后,将它们以模板的形式存储(存储格式为位图)在字符模板库中。这样便可以得到一个字符模板库。注意:生成模板库时,并不是 随便排列的,而是按照数字 (从0到9)、字母(从A到Z)、汉字的顺序排列的,目的是为了 提高识别效率。3、对分割字符分别进行黑白像素的统计,然后根据统计像素与模板大小的比例判断出 识别的结果,并且依次保存。4、导出文本。输出并显示识别结果直接调用 Matlab内带的msgbox函数即可。然后调 用Matlab内带的fopen函数打开预先建立的表格, 并调用Matlab内带的fprintf 函数将识 别结果写入表格中,最后保存
43、写入的识别结果并关闭表格。在以上四个步骤中,前面三个步骤为字符的识别过程,第四步是对识别结果的输入显示和保存。最终显示的识别结果如图3.8所示。图3.8 识别结果效果当然,也可以通过直接打开保存了车牌识别结果的Excel文件查看识别出来的结果车牌号码。4系统运行结果分析系统运行基本正常,大部分满足条件的车牌号码能被正确识别出来,但是部分车牌目 前还无法正确识别出来,如车牌号码所有数字都相同时,识别会出错。还有,在识别过程中,可能会遇到图4.1所示问题:图4.1 出错识别从上面结果可以看出,这张车牌的识别存在着一点问题,将“S”误识另为“ 5”。在识别中还可能出错的有“ 0”和“ 8”,“粤”和
44、“京”,“A”和“4”等。由于时间的关系,目前 已对后面一个问题中的部分修改好了,而其他部分还可以进行优化改进,通过进一步修改程序,在某些方面做些弥补,最后达到识别效果。由此可知,在车牌识别的过程中数字库的建立很重要,只有数字库的准确才能保证识别出来的数据正确。5结束语本设计所采用的基于彩色分量的定位方法,运用基于蓝色象素点统计特性的方法对蓝底车牌进行定位,通过实验数据表明,用该方法实现的车牌定位准确率较高。本设计只对蓝底白字车牌进行分割识别,针对其他颜色的车牌,则需要对车牌定位算法进行进一步的调整, 而车牌字符的分割算法仍然有效。本设计所采用的图片都是用1000万像素相机拍摄的,清晰地比较高
45、,因此效果比较好,如果图片质量不高,识别还存在着一定的问题,识别率也会下降,因此还需要进一步对算法进行改进,才能达到较好的效果。11文档收集于互联网,如有不妥请联系删除.文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持把模4系统运行结果与分析内容太少,其它显示结果的地方也可以增加一些图片说明。板匹配部分可放在后面一点。12文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持【注释】、摘自数字图像处理(MATLAB版),作者:冈萨雷斯、摘自期刊文档图像处理技术一一模板匹配算法,作者:左力【参考文献】1冈萨雷斯数字图像处理(第二版)北京电子工
46、业出版社2007.82冈萨雷斯数字图像处理(MATLAB版)北京电子工业出版社2005.93赵丹等基于MATLAB勺车牌识别大连工业大学学报2007.94王刚等基于MATLAB勺车牌识别系统的研究电子设计工程2009.115葛哲学精通MATLAB 电子工业出版社2008.26百度资料库网址:7左力图像处理技术一一模板匹配算法2002.38Milind M.MushrifAjoy K. Ray ,Colorimage segmentation: Rough-set theoreticapproach,Pattern Recognition Letters,29(2008)483-4939 钱成,
47、卢珏车牌识别中字符分割的研究中国科技论文在线2011.1中央民族大学学报(自然科学版)10朱俊梅,陈少平基于改进的投影方法的车牌图像字符分割2007.4郭大波彩色汽车图像车牌定位技术分析山西大学学报(自然科学版)2005.1Yanli Zhai A novel variational model for image segmentation Journal of Computational and Applied Mathematics 2011 No.813文档收集于互联网,如有不妥请联系删除文档来源为:从网络收集整理,word版本可编辑.欢迎下载支持.致谢这次基于Matlab的静态车牌识别系统毕业设计的完成,首先要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 官方的室内装修施工合同3篇
- 担保合同担保合同(一)6篇
- 精装房屋抵押借贷合同10篇
- 新建铁路工程劳务协作合同3篇
- 钢增强塑料复合管项目绩效评估报告
- 高效节能电动机项目绩效评估报告
- 小学第33个爱国卫生月主题活动
- 服装设计高端时尚
- 儿歌表演唱教学设计
- 新生儿居家护理
- 酒店筹开期操作手册(业主代表小组适用)
- 城市生活垃圾卫生填埋场运行管理培训
- 2023年《早》舒淇早期古装掰全照原创
- 部编版六年级语文下册根据语境写词语(小升初归类练习)
- 人工智能之知识库
- 张哲华鑫仔小品《警察和我》台词剧本手稿
- 中等职业学校英语课程标准(2020年版)(word精排版)
- 毕业生就业推荐表word模板
- 南京市特种设备安全监督检验研究院公开招考5名编外工作人员模拟检测试卷【共1000题含答案解析】
- 2023年八年级生物学业水平考试复习试卷
- YY/T 1685-2020气动脉冲振荡排痰设备
评论
0/150
提交评论