原创基于Matlab的汽车牌照识别方法研究毕业论文文档格式.docx
《原创基于Matlab的汽车牌照识别方法研究毕业论文文档格式.docx》由会员分享,可在线阅读,更多相关《原创基于Matlab的汽车牌照识别方法研究毕业论文文档格式.docx(42页珍藏版)》请在冰豆网上搜索。
![原创基于Matlab的汽车牌照识别方法研究毕业论文文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/14/50b4861f-9273-4425-adbe-99b7d99b1000/50b4861f-9273-4425-adbe-99b7d99b10001.gif)
该设计方案只进行Matlab软件的开发,图像采用已经采集的车牌显示清晰的汽车图片,软件包括车牌定位、车牌字符分割及车牌字符识别三个模块。
车牌定位模块中使用了基于车牌颜色的的车牌车牌定位算法;
车牌字符分割模块中,是采用基于垂直投影法的算法将牌照区域分割为单个字符;
车牌字符识别模块中,采用的是基于模板匹配的OCR算法进行识别,同时将字符分为三部分,第一部分为汉字部分,第二部分为车牌的第二个字母,第三部分为其余的字母与数字部分,三部分单独建模识别。
根据上述算法搭建了一个测试平台,通过测试平台,对大量照片进行车牌识别,测试系统的性能。
测试结果表明,本课题设计的车牌识别系统可有效地实现车牌识别,为今后的产品化奠定了很好的技术基础。
【关键词】车牌识别车牌定位字符分割字符识别ABSTRACTInrecentyears,thelicenseplaterecognitionsystemisanimportantdirectionofintelligenttrafficmoreandmoreattention.Licenseplaterecognitionsystemcanbeappliedtovariousparkingmanagementsystem,intelligenttrafficmanagementsystem,vehiclemanagementsystemofcommunityandotherfields,playsanimportantroleintrafficmanagementandsecuritymanagement.本文针对车牌识别系统的现有技术进行了更加深入的研究。
车牌定位模块中使用了基于数学形态学的的车牌车牌定位算法;
车牌字符分割模块中,是采用基于采用垂直投影法将牌照区域分割为单个字符;
车牌字符识别模块中,采用的是SVM算法进行识别,同时将模型分为三部分,第一部分为汉字部分,第二部分为车牌的第二个字母,第三部分为其余的字母与数字部分,三部分单独建模识别。
Inthispaper,theexistingtechnologyforlicenseplaterecognitionsystemstudieddeeply.OnthebasisoftheresearchtodevelopalicenseplaterecognitionsystembasedonMATLAB.ThedevelopmentofthedesignofMatlabsoftware,theplateisalreadycollectedimagesshowclearpictureofacar,thesoftwareincludingthelicenseplatelocation,licenseplatecharactersegmentationandcharacterrecognitionoflicenseplatethreemodules.Thelicenseplatelocationmoduleusedinthevehiclelicenseplatelocationalgorithmbasedonlicenseplatecolor;
licenseplatecharactersegmentationmodule,istheusetheverticalprojectionalgorithmbasedonthelicenseplateregionisdividedintoasinglecharacter;
licenseplatecharacterrecognitionmodule,isusedtoidentifytheOCRalgorithmbasedontemplatematching,thefirstpartisChinesecharacterspartthesecondpartisthelicenseplate,thesecondlettersofthealphabet,thethirdpartisthelettersandnumbersoftherest,threeseparatepartmodelingidentification.Accordingtotheabovealgorithmtobuildatestplatform,thetestplatform,vehiclelicenseplaterecognitionofalargenumberofphotos,performancetestsystem.Thetestresultsshowthat,thelicenseplaterecognitionsystemdesignedinthisthesiscaneffectivelyrealizethelicenseplaterecognition,laidagoodtechnicalfoundationforfutureproducts.【Keywords】LPRVehiclelicenseplatelocationCharactersegmentationCharacterrecognition目录第一章绪论1第一节本课题的研究背景1第二节本课题的研究目的及意义2第三节国内外发展状况2第二章图像处理概述4第一节图像的读取4第二节图像的预处理4一、图像的基础4二、数字图像的表示4三、图像的灰度化5四、图像的二值化5第三节本章小结6第三章系统方案设计7第一节车牌识别系统设计方案概述7第二节系统开发环境选择7第三节本章小结8第四章测试结果与分析9第一节车牌定位9一、图像的灰度化9二、边缘检测11三、灰度图腐蚀12四、图像的平滑处理13五、车牌区域定位15第二节车牌字符分割16一、字符切割前彩色车牌图像的进一步处理16二、字符分割和归一化处理17第三节字牌字符识别19第四节实验结果分析21第五节本章小结22结论23致谢24参考文献25附录26一、英文原文:
26二、英文翻译:
30三、源程序33第第1章章绪论绪论第一节第一节本课题的研究背景本课题的研究背景随着社会经济的发展,汽车成为人们出行的重要工具之一,因此汽车的数量正在迅速增长,然而在给出行提供便利的同时,车辆管理上存在的问题日益突出,人工管理的方式已经不能满足实际的需要。
而微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率,作为信息来源的自动检测、图像识别技术越来越受到人们的重视。
近年来计算机的飞速发展和数字图像处理技术的日趋成熟,为传统的交通管理带来了巨大转变,先进的计算机处理技术,不仅可以将人力从繁琐的人工观察,监测中解放出来,而且能够大大提高其精确度,智能交通系统就是在这样的背景与目的下进行开发的。
在智能交通系统中,车牌自动识别系统是一个非常重要的发展方向。
汽车牌照等相关信息的自动采集和管理对于交通车辆管理、园区车辆管理、停车场管理、交警稽查等方面有着十分重要的意义,成为信息处理技术的一项重要研究课题1。
关于车牌识别系统研究,在我国已经有了十几年的发展历程,目前系统的应用还处于起步阶段,大规模投入使用的成熟系统还没有出现,汽车牌照识别系统作为改进交通管理的有效工具,技术水平仍需完善。
现目前国内车牌识别的难点有:
1)由于车牌图像采集,会受到光照条件、天气条件的影响,会出现图像模糊,对比度低,目标区域过小,色彩失真等影响,并且会伴随复杂的背景图像,这些都会影响车牌定位及识别。
2)每次采集时目标所处位置不会一样,采集视角会有很大变化,且由于车牌歪斜,将导致图像出现扭曲,3)牌照的多样性。
其他国家的汽车牌照格式,通常只有一种。
而我国则根据不同车型、用途,规定了多种牌照格式,例如分为军车、警车、普通车等。
我国标准车牌照是由汉字、英文字母和阿拉伯数字组成的,而汉字的识别与字母和数字的识别有很大的不同,增加了识别的难度。
4)我国汽车牌照的底色和字符颜色多样,蓝底白字、黄底黑字、黑底白字、红底黑字、绿底白字、黄底黑字多种,5)由于环境、道路或人为因素造成汽车牌照污染严重,使得车牌的对比度降低,特征不是很明显,即使在定位准确的情况下,字符的识别也会受到很大影响。
因此现有的识别方法也不能很好的适应多变的环境,所以对车牌识别技术的研究依然是目前高科技领域的热门课题之一。
第二节第二节本课题的研究目的及意义本课题的研究目的及意义车牌识别系统的主要任务是分析和处理采集到的复杂背景下的车辆图像,定位分割牌照,最后自动识别汽车牌照上的字符。
车牌识别是利用车辆牌照的唯一性来识别车辆,它是以数字图像处理、模式识别、计算机视觉等技术为基础的智能识别系统。
在现代化交通发展中车牌识别系统是提升交通系统智能化、现代化的重要因素,车牌识别系统能够从一幅图像中自动提取车辆图像,自动分割牌照图像,对字符进行正确识别,从而降低交通管理工作的复杂度。
车牌识别系统将获取的车辆图像进行一系列的处理后,以字符串的形式输出结果2,因此车牌识别系统的便捷性是人工车牌识别所不能比拟的,它拥有着很大的经济价值和发展空间,对车牌识别技术的研究是非常有意义的。
在车牌识别系统中最重要的两个技术是车牌定位和车牌字符识别,这两个技术的好坏将直接影响到整个车牌识别系统的实时性和准确性。
国内外己有不少学者对车牌定位技术做了大量的研究,但在实际的应用中还没有一个有效可行的方法,如由于车辆抖动造成车牌图像的歪斜、由于污迹和磨损造成车牌字符的模糊、由于光照不均造成车牌图像的模糊等都会或多或少影响到车牌定位的准确度。
针对以上实际情况,很多学者开始在鉴于车牌图像本身特征的基础上研究车牌定位技术,并先后提出了一些有效的定位方法,以减小种种主、客观因素对车牌定位准确度的影响。
车牌字符识别的实质是对车牌上的汉字、字母和数字进行快速准确的识别并以字符串的形式输出结果,字符识别技术是整个车牌识别系统的关键。
车牌识别系统与其它图像识别系统相比较而言要复杂很多,在字符识别中,汉字识别是最难的部分,很多国外较为成熟的车牌识别系统无法进入中国市场的原因就在于无法有效的识别汉字。
此外,由于外界环境的影响,系统必须保证能够在任何天气情况下全天不间断的正常工作。
到目前为止,在众多的车牌自动识别方法中还没有一个可以达到理想的效果,因此对车牌识别技术的研究意义重大。
第三节第三节国内外发展状况国内外发展状况车牌自动识别技术的研究国外起步较早。
早在20世纪80年代,便有一些零零散散的图像处理方法用于车牌自动识别技术的某些具体应用。
在这个阶段,车牌自动识别技术的研究还没有形成完整的体系,一般采用简单的图像处理方法来处理一些问题,且最终结果需要人工干预。
进入20世纪90年代后,国外汽车牌照识别系统的研究开始正式起步,典型的如A.S.Johoson等提出的汽车牌照自动识别系统的图像分割(ImageSegment)、特征提取(FeatureExtraction)、模板构造(TemplateFormation)和字符识别(CharacterRecognition)等四个部分,完成车牌的自动识别。
由于我国的车牌格式和外国的有较大差异,所以对于国外的车牌识别系统的技术研究,我们只能作为参考,而不能直接应用。
虽然我国的车牌识别需要识别汉字,但是对于英文字母和数字的识别,我们可以借鉴国外的研究技术。
国内在90年代也开始了自己的车牌识别系统的研究。
目前较成熟的产品有中科院自动化研究所汉王公司的“汉王眼”,香港亚洲视觉科技有限公司的慧光车牌识别系统等等。
另外清华大学人工智能国家重点实验室、上海交通大学的计算机科学和工程系、浙江大学自动化系、西安交通大学的图像处理和识别实验室等都做过类似的研究。
虽然这些车牌识别系统的识别率大多都较高,能达到95%甚至97%、98%,但是这些车牌识别系统的识别检测结果大多都是在简单受限制的场景下取得的,在实际的交通场合和更加复杂的背景环境的情况下,这些车牌识别系统的识别率一般都较低,在90%左右,甚至更低。
从目前一些产品的性能指标看得出,车牌识别系统的识别率和识别速度还有待提高。
现代交通的高速发展以及车牌识别系统应用范围的日益拓宽给车牌识别系统提出来更高的要求。
因此,研究高速、准确的定位与识别算法是目前的主要任务,而图像处理技术的发展和摄像设备、计算机性能的提高都会促进车牌识别技术的发展,提高车牌识别系统的性能。
第二章第二章图像处理概述图像处理概述第一节第一节图像的读取图像的读取图像是由一系列排列有序的像素组成的。
在计算机中常用的存储格式有:
BMP、TIFF、EPS、JPEG、GIF、PSD、PDF等格式。
本课题采集到的图片是*.JPG的格式,因为*.JPG格式可利用可变的压缩比来控制文件的大小,有损压缩格式,且广泛支持Internet标准,是目前广泛使用的图片保存和传输格式,大多数摄像设备都是以*.JPG格式保存图像。
在Matlab中,利用图像工具箱的imread函数即:
Car_Image_RGB=imread(Image_Name);
就可将图像读取出来,而这样读取到的图像是RGB图像,RGB图像分别用红、蓝、绿三个色度值为一组代表每个像素的颜色,因此Car_Image_RGB是一个的数组,m、n表示图像像素的行、列数。
第二节第二节图像的预处理图像的预处理一、图像的基础一、图像的基础图像就是所有具有视觉效果的画面,它包括:
纸介质上的、底片或照片上的、电视、投影仪或计算机屏幕上的。
图像根据图像记录方式的不同可分为两大类:
模拟图像和数字图像。
模拟图像可以通过某种物理量(如光、电等)的强弱变化来记录图像亮度信息,例如模拟电视图像;
而数字图像则是用计算机存储的数据来记录图像上各点的亮度信息。
二、数字图像的表示二、数字图像的表示数字图像,又称数码图像或数位图像,是二维图像用有限数字数值像素的表示3。
由数组或矩阵表示,其光照位置和强度都是离散的。
数字图像是由模拟图像数字化得到的、以像素为基本元素的、可以用数字计算机或数字电路存储和处理的图像。
我们一般将其分为两类,分别为灰度图像与彩色图像。
灰度图像(GrayScaleImage),也称为灰阶图像:
灰度是黑白之间的差距分级量化,图像中每个像素可以由0(黑)到255(白)的亮度值表示,0-255之间表示不同的灰度级。
其级数的大小代表了图像中像素的亮度。
彩色图像(ColorImage):
每幅彩色图像是由三幅不同颜色的灰度图像组合而成,对应于人类视觉的三基色,即一个为红色,一个为绿色,另一个为蓝色。
三、图像的灰度化三、图像的灰度化在运算中由三种颜色所组成的彩色图像使得某些图像处理算法无法展开,因此必须对其进行灰度处理。
灰度化就是使彩色的R、G、B分量值相等的过程,由于R、G、B的取值范围是0255,所以灰度的级别只有256级,即灰度图像只能表现256种颜色(灰度)。
图像灰度化的处理方法主要有以下三种:
1、最大值法:
使R、G、B的值等于三个值中最大的一个,即(2-1)最大值法会形成亮度很高的灰度图像。
2、平均值法:
使R、G、B的值求出平均值,即(2-2)平均值法会形成比较柔和的灰度图像。
3、加权平均值法:
根据重要性或其他指标给R、G、B赋予不同的权值,并使R、G、B的值加权平均,即(2-3)其中,分别为R、G、B的权值。
,取不同的值,加权平均值法就形成不同的灰度图像。
由于人眼对绿色敏感度最高,红色次之,对蓝色最低,因此使将得到比较合理化的图像。
实验和理论推导证明,当,时,即当(2-4)时,能得到最合理的灰度图像。
本设计采用的是加权平均值法来得到灰度图像。
四、图像的二值化四、图像的二值化图像二值化是指用灰度变换来研究灰度图像的一种常用方法,即设定某一阈值将灰度图像的像素分成大于阈值的像素群和小于阈值的像素群4。
其图像二值化的表达式如下:
(2-5)其中为二值图像输出函数,为灰度图像输入函数,T为指定的阈值。
图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。
即将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。
第三节第三节本章小结本章小结本章主要介绍了本次设计当中所需要用到的一些图像处理的基本知识,对于本次设计而言,彩色图像对于整个系统而言的用处并不大,因此将图像转化成为了灰度图像。
在某些时候,灰度信息对于处理的作用并不大,所以在下面的一些步骤时会进行一次二值化。
对于灰度图与二值图的处理时本次设计的重要内容。
对于灰度图而言,可进行一些灰度增强。
同时本章中提到的二值图像中的阈值选取也有很多不同的选取算法,而不同的阈值对于图像的处理至关重要。
本章所提的知识为后面章节的内容做了铺垫,由于图像的预处理对于整个设计而言至关重要,在预处理时必须要根据不同类型的图像选取正确的算法。
第三章第三章系统方案设计系统方案设计第一节第一节车牌识别系统设计方案概述车牌识别系统设计方案概述一个完整的车牌号识别系统要完成从图像采集到字符识别输出,过程相当复杂,基本可以分成硬件部分跟软件部分,硬件部分包括系统触发、图像采集,软件部分包括图像预处理、车牌位置提取、字符分割、字符识别四大部分,由于本课题只研究的是软件部分,因此一个车牌识别系统的基本结构如图3.1所示:
?
图3.1车牌识别系统基本结构图整体设计思路:
该系统拟采用的图像预处理方法:
.该方法的优点:
.比其他方法好的地方。
图像分割.识别方法(模板匹配)。
第二节第二节系统开发环境选择系统开发环境选择车牌号识别系统的软件部分大都采用VC+,VB或者Matlab。
(OpenCV库)本课题选用Matlab,主要是因为Matlab具有以下优点5:
(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。
Matlab程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。
(2)Matlab绘图功能很强大,但在VC+,VB语言里绘图都很不容易,但Matlab里数据的可视化程度非常高,并且具有较强的编辑图形界面的能力。
(3)运算符丰富。
由于Matlab是用C语言编写的,Matlab提供了和C语言几乎一样多的运算符,灵活使用Matlab的运算符将使程序变得极为简短。
(4)Matlab既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。
(5)Matlab语言简单,入门容易,程序设计不严格,自由度大,例如用户无需对矩阵预定义即可使用(6)Matlab语言简洁紧凑,使用方便灵活,库函数丰富,并且内部集成了很多工具箱,为程序开发提供现成模块。
第三节第三节本章小结本章小结本章主要讲解了车牌识别系统的基本组成结构,共包括四个部分:
图像的预处理、车牌定位、车牌字符分割和车牌字符识别。
另外还介绍了本次设计采用的研究平台Matlab的一些相比其他软件的优势。
这为下面的研究打好了基础。
第四章第四章测试结果与分析测试结果与分析第一节第一节车牌定位车牌定位车牌图像的采集与预处理一、图像的采集通过道路监控系统中的摄像头对汽车牌照信息进行采集和定位一、图像的灰度化一、图像的灰度化汽车图像样本目前大都是通过摄像机、数码相机等设备拍摄获取的,因而预处理前的图像都是彩色图像。
(转换成灰度图像的原因)在本设计中,对于将彩色图像转换成灰色图像是(图像灰度化的方法有),本文采用的是采用的是加权平均值法。
(加权平均值的有点。
一句话)其公式为:
(4-1)其中,表示灰度图的亮度值,R代表彩色图像红色分量值,G代表彩色图像绿色分量值,B代表彩色图像蓝色分量值。
在Matlab中,我们通过调用rgb2gray函数来实现彩色车牌图像的灰度化。
而它的原理是以R、G、B为轴建立空间直角坐标系,则RGB图像的每个像素的颜色可以用该三维空间的一个点来表示,而Gray图的每个像素的颜色可以用直线R=G=B上的一个点来表示。
于是rgb转gray图的本质就是寻找一个三维空间到一维空间的映射,最容易想到的就是映射,即过rgb空间的一个点向直线R=G=B做垂线。
其调用格式为:
I1=rgb2gray(I);
将真彩色图像转换为灰度图像(RGB并不发生变化)。
其中,I1表示转换后灰度图像,I表示RGB图像。
其原图和其灰度图见图4.1和图4.2所示。
图4.1原图图4.2灰度图二、边缘检测二、边缘检测在数字图像中,边缘是指图像局部变化最显著的部分,边缘主要是存在于目标与目标,目标与背景之间,是图像局部的不连续性,如灰度的突变、纹理结构的突变、颜色的突变等6。
由于用摄像机采集到的机动车图像会受到噪声干扰以及车辆本身的影响,获得的图像质量并不理想。
因此,在对汽车牌照进行定位及字符分割识别之前需要先对车辆图像进行边缘检测处理,以提高图像的质量,使其易于后面的分割和识别。
通过良好的边缘检测可以大幅度的降低噪声、分离出复杂环境中的车辆图像、保留完好的车牌字符信息,方便后面的车牌精确定位与字符识别。
本MATLAB中,利用edge函数来实现边缘检测,即:
Car_Image_Bin=edge(Car_Image_Gray,robert,0.15,both);
在edge函数中,有sobel算子,prewitt算子,roberts算子,LaplacianofGaussian算子,zero-cross算子及canny算子。
几种算法相比较之下,roberts算法算法简单,计量最小。
因此,在本设计中,采用的是roberts算子来进行边缘检测。
Roberts算子是一种利用局部差分来寻找边缘的算子。
Roberts梯度算子所采用的是对角方向相邻两像素值之差,算子形式如下:
(4-2)(4-3)(4-4)Roberts梯度算子对应的卷积模板为:
(4-5)用以上两个卷积算子与图像运算后,可求出图像的梯度幅值,