基于MATLAB的车牌识别毕业设计.docx
《基于MATLAB的车牌识别毕业设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的车牌识别毕业设计.docx(36页珍藏版)》请在冰豆网上搜索。
![基于MATLAB的车牌识别毕业设计.docx](https://file1.bdocx.com/fileroot1/2023-5/26/205c0167-29f3-4c8b-9344-f5993b6b2d99/205c0167-29f3-4c8b-9344-f5993b6b2d991.gif)
基于MATLAB的车牌识别毕业设计
摘要
汽车牌照自动识别系统是近几年发展起来的计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一。
在车牌自动识别系统中,首先要将车牌从所获得的图像中分割出来,这是进行车牌字符识别的重要步骤,定位准确与否直接影响车牌识别率。
本次毕业设计首先对车牌识别系统的现状和已有的技术进行深入的研究,在研究的基础上开发出一个基于MATLAB的车牌识别系统,通过编写M文件,对各种车辆图像处理方法进行分析、比较,提出了车牌预处理、车牌粗定位何静定位的方法。
本次设计采取的是基于边缘检测,先从经过边缘提取后的车辆图像中提取车牌特征,进行分析处理,从而初步定出车牌的区域,再利用车牌的先验知识和分布特征对车牌区域二值化图像进行处理,从而得到车牌的精确区域,并且取得了较好的定位结果。
关键词:
识别率车牌定位二值化边缘检测
Abstract
Thesubjectoftheautomaticrecognitionofthemostsignificantsubiectsthatareimprovedfromtheconnectionofcomputervisionandpattrenrecognition.InLPSR,thefirststepisforlocatingthelicenseplateinthecapturedimagewhichisveryimportantforcharacterrecognition.Therecognitioncorrectionrateoflicenseplateisgovermentbyaccuratedegreeoflicenseplatelocation.
Thegraduationprojectfirstin-depthstudyonthestatusofthelicenseplaterecognitionsystemsandexistingtechnology,onthebasisofthestudydevelopedamatlab-basedlicenseplaterecognitionsystem,avarietyofvehicles,imageprocessing,throughthepreparationoftheM-fileanalysisoftheproposedlicenseplatepretreatment,thepositioningofthecoarselicenseplatepositioningJing.Thedesignistakenbasedonedgedetection,starttoextractthelicenseplatecharacteristicsafterthevehicleimageedgeextraction,analysisandprocessing,whichinitiallyidentifiedthelicenseplatearea,thenusethepriorknowledgeanddistributioncharacteristicsofthelicenseplateplateregionbinaryimageprocessing,resultinginapreciseareaofthelicenseplate,andhasmadegoodpositioningresults.
Keywords:
RecognitionrateLocationoftheplatebinaryimage
Checkedupfortheedge
前言
随着交通问题的日益严重,智能交通系统应运而生。
从20世纪90年代起,我国也逐渐展开了智能交通系统的研究和开发,探讨在现有的交通运输网的基础上,提高运输效率,保障运输安全。
汽车牌照自动识别系统是近几年发展起来的计算机视觉和模式识别技术在智能交通领域应用的重要研究课题之一。
车牌识别的目的是对摄像头获取的汽车图像进行预处理,确定车牌位置,提取车牌上的字符串,并对这些字符进行识别处理,用文本的形式显示出来。
车牌自动识别技术在智能交通系统中具有重要的应用价值。
在车牌自动识别系统中,首先要将车牌从所获取的图像中分割出来,这是进行车牌字符识别的重要步骤,定位准确与否直接影响车牌识别率。
车牌自动识别系统作为一种交通信息的获取技术在交通车辆管理、园区车辆管理、停车场管理有着特别重要的应用价值,受到业内人士的普遍关注。
车辆自动识别系统由三部分组成,其中车牌定位作为最关键的技术,成为重点研究的对象。
车牌定位的成功与否及定位的准确程度将会直接决定后期能否进行车牌识别及识别的准确度。
由于在现实中,汽车的车牌图像收到光照、背景、车型等外界干扰因素以及拍摄角度、远近等人为因素的影响,造成图像受光不均匀,车牌区域不明显,给车牌区域的提取带来了较大的困难。
车牌定位的方法有很多种,目前比较经典的定位方法大都在基于灰度图像的基础上,本次设计就针对灰度图像的定位进行了研究。
针对不同背景和光照条件下的车辆图像,提出了一种基于灰度变换特征进行车牌定位的方法。
依据车牌种不同区域的灰度分布,车牌定位可以首先将彩色车牌进行灰度化然后再进行车牌定位。
第一章绪论
1.1、课题研究背景和意义
随着汽车数量的迅速上涨,逐渐向自动化和实时性的智能化管理进行转变。
汽车智能化的重要环节就是牌号的自动识别系统,主要使用仓储式立体库以及无人值守停车场管理、交通控制与诱导、不停车自动收费以及违章车辆以及车辆安全防盗等领域。
牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。
该技术具有良好的研究价值和广阔的应用前景。
车辆牌照自动识别技术是智能交通系统的一个重要组成部分,它在交通管理与监控中有着广泛的应用。
车辆牌照识别系统技术能够从一副车辆图像中准确定位车牌图像,经过字符切分和识别后实现车辆牌照的自动识别,从而为以上应用提供信息和基础功能。
目前,车牌识别系统主要应用于以下领域:
(1)停车场管理系统。
利用车牌识别技术对出入的车辆车牌号进行识别和匹配,与停车卡结合实现自动计时、自动收费的车辆收费管理系统。
(2)高速公路超速自动化管理系统。
以车牌号自动识别技术为基础,与其它高速高科技技术手段结合,对高速公路交通状况进行自动监测、自动控制,从而降低交通事故的发生率,确保交通顺畅。
(3)公路布控。
采用车牌技术对重点车辆进行识别,快速报警,即可有效查找被盗车辆,又可作为公安、检察机关体工对犯罪嫌疑人的交通工具的跟踪和检查的技术手段。
(4)城市十字路口的“电子警察”。
可以对违章车辆进行责任追究,也可以辅助进行交通流量统计,交通检测和疏导。
(5)小区车辆管理系统。
社区保安系统将出入社区的车辆通过车牌识别技术进行记录,将结果与内部的车辆进行对比,可以实现实时监管。
1.2、国内外研究概况及发展趋势
国内外有大量关于车牌识别的研究报道。
国外在这方面的研究工作开展较早。
在上世纪70年代,英国就在实验室中完成了“实时车牌监测系统”的广域检测和开发。
同时代,诞生了面向被盗车辆的第一个实时自动车牌监测系统。
发展到今日,国外的车牌检测的研究已经取得了令人瞩目的成就,如yuntaocui提出了一种车牌识别系统,在车牌定位后,利用马尔科夫场对车牌特征进行取值化,对样本的识别达到了较高的识别率。
车牌识别技术作为智能交通系统中的关键技术,在各国学者的共同努力下,已经得到了长远的展,并且已经得到了不同程度的实际应用,但目前还存在这种种不足。
对于未来车牌识别产品的技术发展趋势,汉王科技智能交通部总经理乔炬认为,首先,由于市场需求不同,对识别产品的需求也有差异,因此就要求研发针对不同细分市场的车牌识别产品。
其次,随着算法的不断改进,基于视频触发技术的车牌识别产品将得到大范围的应用,但是视频出发技术取代外触发装置尚需时日。
第三,现在的车牌识别系统设备过多,系统集成难度大,系统稳定性差,系统维护是一个让人头疼的问题。
随着技术不断进步,以往多个设备实现的功能可能由一个设备实现。
从车牌识别系统进入国内以来,国内有大量的学者在从事这方面的研究,提出了许多新颖的算法。
目前上海大学图像处理实验室研制出的汽车牌照自动识别系统已经在泸宁高速公路收费口处得到了应用。
该系统识别率高,速度快,鲁棒性强,对环境和光照的要求低,能够适应收费系统要求的环境。
在排除非正常牌照,严重污染的牌照和对比度特别低的牌照的情况下,经现场数万辆车辆测试,对汉字和后四个数字的整体识别率达99%以上,识别时间<0.2s,该系统结合人机对话,经泸宁高速公路江桥收费口试运行确定,达到了实用要求。
还有中国科学院自动化所刘志勇等开发的系统在一个样本量为3180的样本集中,车牌的准确率为99.42%,切分准确率为94.52%,这套系统后来用于汉王公司的车牌识别系统,取得了不错的效果。
随着市场的不断扩大,需求的进一步提高,必将促进这一领域的进一步发展。
目前,车牌识别技术和产品性能进入实用阶段时间不是很长,随着人工智能以及自动识别技术的进步,未来的技术发展空间还会非常大。
例如,核心算法继续发展,识别率和知识速度进一步改善,图像处理中对模糊图像预处理能力增强,画质改善技术的提高等等。
1.3车牌定位的意义
车牌定位是车牌定位识别系统中的关键技术之一,车牌照定位结果的好坏直接影响着该系统的识别进度。
所谓车牌照定位过程就是把车牌照区域完整的从一幅复杂的车牌图像中分割出来。
然后对于一副车牌图像来说,车牌区域只占复杂的车牌图像的一小部分,要想准确地定位出车牌区域,就必须提取车牌区域内的字符本身的纹理特征及字符与其背景之间的灰度特征来进行分析
现在社会已经进入信息时代,随着计算机技术、通信技术和计算机网络技术的方法,自动化的信息处理能力和水平不算提高,并在人们社会活动和生活的各个领域得到广泛应用。
在这种情况下,作为信息来源的自动检测、图像识别技术越来越受到人们的重视。
作为现代社会的主要交通工具之一的汽车,在人们的生产、生活的各个领域得到大量的使用,对它的信息自动采集和管理在交通车辆管理、园区车辆管理、停车场管理等方面有十分重要的意义,成为信息处理技术的一项重要课题。
车牌定位识别系统正是在这中应用背景下研制出来的能够自动实时的检测车辆经过并定位识别汽车牌照的智能交通管理系统。
车牌定位识别系统是在装备了数字摄像设备和计算机信息管理系统等软硬件平台基础上,采用先进的图像处理、模式识别和人工智能技术,通过对图像的采集和处理,完成车牌定位识别功能。
车牌定位识别系统,集现场识别、远程传输和指挥中心网络化调度管理为一体,具有全天侯实时识别车牌照、自动比对车辆信息、现场报警、事后排查、高速高效等功能,并符合21世纪安全防范和智能交通系统工程主流应用技术的相关标准。
。
第二章MATLAB简介
2.1.MATLAB发展历史
MATLAB是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB是MatrixLaboratory的缩写,意为“矩阵实验室”,是当今非常流行的科学计算软件。
这是因为信息技术、计算机技术的发展,使得科学计算在各个领域得到了广泛的应用,比如控制论、时间序列分析、系统仿真、图像信号处理等领域都产生了大量的矩阵及其他计算问题。
自己编写大量繁复的计算程序,不仅会消耗大量的时间和精力,减缓工作进程,而且质量往往不高。
美国Mathwork软件公司推出的MATLAB软件正迎合了这一需求,为人们提供了一个方便的数值平台。
MATLAB是一个交互式的系统,其基本运算单元是不需要指定维数的矩阵,并按照IEEE数值计算标准计算。
系统本身提供了大量的矩阵及其他运算函数,可以方便地进行很复杂的计算,且运算效率高。
MATLAB语言是当今国际上科学界最具影响力、也是最有活力的软件。
它起源于矩阵运算,并已经发展成为一种高度集成的计算机语言。
它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。
MATLAB语言在各国高校与研究单位起着重大作用。
在70年代中期,CleveMoler博士和其他同事在美国国家科学基金的资助下开发了调用EISPACK和LIPACK的FORTRAN子程序库。
EISPACK是特征值求解的FORTRAN程序库,LIPACK是解线性方程的程序库。
在当时,这两个程序库代表矩阵运算的最高水平。
到70年代后期,身为美国NewMexico大学计算机系系主任的CleveMoler在给学生讲授线性代数课程时,想教学生使用EISPACK和LIPACK程序库,但他发现学生用FORTRAN编写EISPACK和LIPACK的接口程序。
CleveMoler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合,在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。
MATLAB产品族可以用来进行以下各种工作:
数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理技术、数字信号处理技术、通讯系统设计与仿真等。
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
2.2MATLAB的语言特点
MATLAB最突出的特点就是简洁。
MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。
MATLAB给用户带来的是最直观,最简洁的程序开发环境。
他的语言特点是:
1)、语言简洁紧凑,使用方便灵活,库函数极其丰富。
MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。
由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。
2)、运算符丰富。
由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。
3)、MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
4)、程序限制不严格,程序设计自由度大。
例如,在MATLAB里,用户无需对矩阵预定义就可使用。
5)、程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
6)、MATLAB的图形功能强大。
在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。
MATLAB还具有较强的编辑图形界面的能力。
7)、MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。
由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
8)功能强大的工具箱是MATLAB的另一特色。
MATLAB包含两个部分:
核心部分和各种可选的工具箱。
核心部分中有数百个核心内部函数。
其工具箱又分为两类:
功能性工具箱和学科性工具箱。
功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。
功能性工具箱用于多种学科。
学科性工具箱是专业性比较强的,如control,toolbox,signlproceessingtoolbox,commumnicationtoolbox等。
这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。
9)源程序的开放性。
开放性也许是MATLAB最受人们欢迎的特点。
除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
第三章车牌定位
3.1车牌定位的主要方法
所谓车牌定位算法是指在实际拍摄的图像中确定车牌区域的位置以便提取分割出车牌区域图像的问题。
牌照的快速准确定位是车牌自动识别技术中非常关键的一步,是典型的图像分割问题,因此定位方法与车牌特征和图像处理技术是分不开的。
经典的车牌定位分割算法包括从简单的灰度阈值方法、频域和空间分割方法到复杂的连接元素方法以及Hough变化法等,在背景较复杂和光照不均匀条件下,这些方法难以取得令人满意的分割效果。
近年来,人们针对这种情况,提出了各种各样的定位算法。
目前没有一个标准图像数据库来评价无限制条件车牌定位算法的性能,这个问题的研究目前刚刚起步。
3.1.1基于直线检测的方法
在计算机识别中,常常需要从图像上寻找特定形状的图形,如果直接利用图像点阵进行搜索判断显然难以实现,这时就需要将图像像素按一定的算法映射到参数空间。
Hough变换提供了一种将图像像素信息按坐标映射到参数空间的方法,通过它构建的参数空间可以容易地对特定形状进行判断。
Hough变换是一种利用图像的全局特征将特定形状的边缘像素连接起来,形成连续平滑边缘的一种方法。
它通过将源图像上的点映射到用于累加的参数空间,实现对已知解析式曲线的识别。
Hough变换常用于对图像中的直线和圆进行识别。
这类方法一般采用Hough变化等方法来检测直线(车牌周围边框形成)。
利用车牌形状特性来定位车牌,在实际运用中忧郁光照不均匀等影响和摄像机畸变,曝光不足和动态范围太窄等原因,导致图像存在伪影,加上车牌上的灰尘、脏污等使形状特性表现的不明显,从而影响定位效果,此外传统的Hough变换法应用在车牌定位中,只是单纯的进行直线的检测,没有和车牌形状特性结合起来,而且Hough空间与原图像空间不是一一对应的,由Hough空间中检测到的特征点无法确定出车牌轮廓的起始位置,无法避免直线干扰的问题,因此在有直线干扰时及未进行边框提取时的可能性会大大增加。
Hough变化计算量较大,对于边框不连续的实际车牌,需要附加量加大的运算。
3.1.2基于阈值化方法
图像经过阈值化得到一个字符和背景分离的二值图像是这类方法的特点。
目前已经提出了多种阈值化策略,但简单算法二值化效果不好,复杂算法计算时间长、计算量大限制了实际应用。
3.1.3基于灰度边缘检测方法
此类方法通常利用车牌区域局部对比度明显和灰度有规律变化的纹理特征来定位。
中国车牌类型较多,在不同光照条件下车牌对比度更加不一,需要进行图像增强处理,还要考虑图像中与车牌特征非常相似的非车牌区域的排除问题。
(1)基于灰度直方图的门限化边缘检测
基于灰度直方图的门限化边缘检测是一种最常用、最简单的边缘检测方法。
对检测目标——背景图像中目标的边缘效果很好。
这种图像的灰度直方图呈双峰状态。
(2)基于微分的边缘检测
1.基于差分的边缘检测
①一阶差分边缘检测
对位于边缘两侧的点,像素点灰度值将发生急剧变化,因此有较大的差分值。
当差分方向和边界方向垂直时将获得最大差分,因此,只要对f(i,j)各方向的差分值再进行一次门限化处理,即可检出边缘像素点,从而求得其边缘图像。
②二阶差分边缘检测
这是利用在图像的边缘处,灰度发生急剧变化这一特性,采用图像灰度值沿着确定方向(x,y或对角线)取二次差分后的某些性质进行边缘检测的。
2.基于梯度的边缘检测
由于边缘发生在图像灰度值变化比较大的地方,对应连续情形就是函数梯度最大的地方。
Roberts算子、Prewitt算子和Sobel算子就是比较简单而常用的例子。
还有一种比较直观的方法就是利用当前像素临域中的一些像素值拟合一个曲面,然后求这个连续曲面在该像素处梯度。
从统计角度上说,我们可以通过回归分析得到一个曲面,然后做类似的处理。
3.1.4基于彩色图像的车牌定位方法
目前的车牌分割受限于灰度图像,所以定位效果受阴影和光照条件的限制。
由于人类是绝对彩色信息比较敏感,人眼能力分辨的灰度只有20多级,而分辨的彩色却有35000多种,彩色图像可以提供更多的视觉信息,有图像学者提出了利用车牌的颜色信息来搜索牌照,将处理对象改为彩色图像以求可以精确地定位车牌。
比如一些系统采用BP神经网络对彩色图像进行彩色分割,把每个像素通过网络学习归类为期望的颜色,然后利用水平和数值直方图的方法确定牌照的位置,但是当车牌区域颜色与附近颜色非常相似且牌照倾斜的情况下彩色定位分个错误将会增加。
也有一些系统采用彩色边缘检测算子计算二值边缘图像,然后采用形态学方法来生成联通区域图像,在进行轮廓跟踪,一个标记候选牌照区域,但是当图中相似颜色区块较多时,定位速度会急剧下降。
也有的系统首先利用颜色信息对输入图像进行彩色粗分割,得到了颜色为车牌照的一些区域。
然后将分个结果中的伪目标(即除了车牌区域以外的区域)分为两类(一类是与汽车牌照颜色相近的背景,一类是可能与牌照颜色相机的汽车外壳),分别进行处理,最终利用投影法得到准确的车牌位置。
虽然这种方法的定位率比较准确,但是识别速度却很慢。
这类方法一般都是将输入的RGB彩色图像转换成HIS彩色图像,然后进行基于模糊逻辑或神经网络的彩色分割,再进一步定位车牌,计算量大。
上述四种方法中,基于直线检测的方法对我国车牌来讲并不完全使用,因为我国车牌的悬挂明显不够规范,有些车牌边框不够明显必然造成定位算法失效,如果结合别的算法侧需要在本身运算量很大的情况下额外增加系统开销。
车牌的最明显特点是其纹理特征,基于灰度边缘检测的方法不失为一个理想选择。
此外,基于颜色的车牌定位也是比较普遍的定位方法。
3.2研究内容及实验方案
3.2.1研究内容
本课题主要是就汽车牌照的自动识别进行一系列的研究,通过查阅相关资料,了解课题背景,熟悉MATLAB软件的基本操作,利用MATLAB软件,根据提供的汽车车牌照片,采用图像分析和处理算法,有效识别汽车的车号等相关信息。
主要的研究内容有:
(1)在MATLAB基础上,实现车牌识别系统中的车牌定位及车牌字符的识别功能。
(2)对车牌定位、字符切分、字符识别的算法进行研究。
(3)对实验结果进行分析。
3.2.2车牌识别系统研究的方案和方法
完整的车牌识别系统应包含车辆检测、图像采集、图像预处理、车牌定位、字符分割、字符识别等单元。
当车辆到达触发图像采集单元时,系统采集当前的视频图像,牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。
流程图如下:
图3.1.总体流程图
该系统是计算机图像处理与字符识别技术在智能化交通管理系统中的应用,它主要由牌照图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等几个部分组成,如图3.1所示。
其基本工作过程如下:
(1)当行驶的车辆经过时,触发埋设在固定位置的传感器,系统被唤醒处于工作状态;一旦连接摄像头光快门的光电传感器被触发,设置在车辆前方、后方和侧面的相机同时拍摄下车辆图像;
(2)由摄像机或CCD摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机