基于Matlab的车牌识别算法.docx

上传人:b****6 文档编号:5877618 上传时间:2023-01-01 格式:DOCX 页数:23 大小:507.36KB
下载 相关 举报
基于Matlab的车牌识别算法.docx_第1页
第1页 / 共23页
基于Matlab的车牌识别算法.docx_第2页
第2页 / 共23页
基于Matlab的车牌识别算法.docx_第3页
第3页 / 共23页
基于Matlab的车牌识别算法.docx_第4页
第4页 / 共23页
基于Matlab的车牌识别算法.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于Matlab的车牌识别算法.docx

《基于Matlab的车牌识别算法.docx》由会员分享,可在线阅读,更多相关《基于Matlab的车牌识别算法.docx(23页珍藏版)》请在冰豆网上搜索。

基于Matlab的车牌识别算法.docx

基于Matlab的车牌识别算法

基于Matlab的车牌识别算法

摘要

车牌系统是计算机视觉和模式识别技术在智能交通领域的重要应用课题之一。

车牌识别系统是以特定目标为对象的专用计算机系统,该系统主要包括三个容:

车牌定位、字符分割和字符识别。

其中车牌定位的目的就是从所拍摄的汽车图像中确定车牌的位置,从而便于后续的字符分割和字符识别工作。

目前常用的方法有:

基于模板匹配的方法、基于特征的方法和神经网络法等。

本设计采用基于模板匹配算法和基于人工神经网络算法对车牌进行定位识别,此算法只对蓝底白字车牌进行分割识别,对黑底白字车牌原则上整个算法可直接适用,。

此算法分割出的图像像素值和模板图像达到了一致,由此便避免了切割出的图像像素值不一致所带来的问题。

但对白底黑字车牌、黄底黑字车牌,需要对车牌定位算法进行调整,并将图像反转(0变1、1变0)。

关键词:

车牌识别系统; 字符分割; 车牌定位

 

LICENSEPLATERECOGNITIONALGORITHMBASEDONMATLAB

ABSTRACT

Licenseplatesystemisacomputervisionandpatternrecognitiontechnologyinoneoftheimportantapplicationresearchtopicinthefieldofintelligenttransportation.Licenseplaterecognitionsystembasedonspecificgoalsofaspecialcomputersystem,thesystemmainlyincludesthreecontents:

licenseplatelocating,charactersegmentationandcharacterrecognition.Oneofthepurposeoflicenseplatelocationistakenfromtheautolocatethelicenseplateintheimage,soastofacilitatethesubsequentworkcharactersegmentationandcharacterrecognition.Nowcommonlyusedmethodsare:

basedontemplatematchingmethod,basedonthecharacteristicsofthemethodandneuralnetwork,etc.

ThisdesignUSESbasedontemplatematchingalgorithmandbasedonartificialneuralnetworkalgorithmtolocatelicenseplaterecognition,thealgorithmisonlyforbluewhitelicenseplatesegmentationrecognition,thealgorithmcanbedirectlyapplicableinprincipletotheblackwhiteplate,.Thisalgorithmtosegmenttheimagepixelvaluesandtemplateimage,thustoavoidthecutoutintheprocessofimagepixelvaluesarenotconsistent.Butblackonwhitebackgroundandblacktextplate,yellowbottomplate,adjustmentsneedtolicenseplatelocalizationalgorithm,andtheimageinversionof(0,1,1,0).

Keywords:

licenseplaterecognitionsystem;Charactersegmentation;Licenseplatelocation

 

 

1前言

1.1车牌号识别研究背景

随着我国公路交通事业的发展,车辆的数量正在迅速增长,在给出行提供方便的同时,车辆管理上存在的问题日益突出,人工管理的方式已经不能满足实际的需要。

微电子、通信和计算机技术在交通领域的应用极提高了交通管理效率。

作为信息来源的自动检测、图像识别技术越来越受到人们的重视。

近年来计算机的飞速发展和数字图像技术的日趋成熟,为传统的交通管理带来巨大转变,先进的计算机处理技术,不但可以将人力从繁琐的人工观察、监测中解放出来,而且能够大大提高其精确度,汽车牌照自动识别系统就是在这样的背景与目的下进行开发的。

汽车牌照等相关信息的自动采集和管理对于交通车辆管理、园区车辆管理、停车场管理、交警稽查等方面有着十分重要的意义,成为信息处理技术的一项重要研究课题。

关于车牌识别技术及定位系统研究,在我国已经有了十几年的发展历程,目前系统的应用还处于起步阶段,大规模投入使用的成熟系统还没有出现,汽车牌照识别系统作为改进交通管理的有效工具,技术水平仍需完善。

国外学者对此已经有了较多工作,但实际效果并不理想,尤其是对车牌自适应性强、速度快、准确率高的高速车牌定位方法还有待进一步研究。

另外,对辅助光源要求高,也很难有效解决复杂背景下多车牌移动识别的技术难题,如:

车牌图像的倾斜、车牌表面污秽或磨损、光线干扰等都会影响定位的准确性。

传统车牌识别一般仅支持单一车辆,背景比较简单。

而当今许多实际应用场合,如在繁忙交通路口临时对欠税费、报废、挂失等车辆的稽查,则监视区域比较复杂,现有识别方法无法直接应用;而且多数情况下,同时出现多辆汽车,背景有广告牌、树木、建筑物、斑马线以及各种背景文字等,现有的识别方法也不能很好的适应多变的环境,所以对车牌识别技术的研究依然是目前高科技领域的热门课题之一。

车牌识别系统的成功设计、开发和应用具有相当大的社会效益、经济效益和学术意义。

车牌识别的难点:

1)由于车牌图像多在室外采集,会受到光照条件、天气条件的影响,会出现图像模糊,对比度低,目标区域过小,色彩失真等影响,并且会伴随复杂的背景图像,这些都会影响车牌定位及识别。

2)每次采集时目标所处位置不会一样,采集视角会有很大变化,并且由于车牌挂的不正,都将导致车牌出现扭曲。

3)牌照多样性。

其他国家的汽车牌照格式,如尺寸大小,牌照上字符的排列等,通常只有一种。

而我国则根据不同车型、用途,规定了多种牌照格式,例如分为军车、警车、普通车等。

我国标准车牌照是由汉字、英文字母和阿拉伯数字组成的,汉字的识别与字母和数字的识别有很大的不同,增加了识别的难度。

4)我国汽车牌照的底色和字符颜色多样,蓝底白字、黄底黑字、黑底白字、红底黑字、绿底白字等多种。

5)由于环境、道路或人为因素造成汽车牌照污染严重,这种情况下国外发达国家不允许上路,而在我国仍可上路行驶。

使得车牌的对比度降低,特征不是很明显,即使在定位准确的情况下,字符的识别也会受到很大影响。

目前在国存在多种牌照格式,且存在以上种种困难和特殊性,加大了我国车牌自动识别的难度,使得中国车辆牌照识别远远难于国外的车辆牌照识别。

因而如何提高识别率和识别处理的实时性及实用性成了一个紧要的任务。

1.2车牌号识别技术研究现状和趋势

1.2.1国外车牌识别技术情况及我国车牌特点

目前,一些发达国家车牌识剐系统在实际交通系统中已经成功应用,而我国的开发应用进展缓慢,基本停留在实验室阶段。

这是因为我国的实际情况与国外有所区别。

国外车牌比较规统一,而我国车牌规不够,较为多样化。

不同汽车类型有不同的规格、大小和颜色,所以车牌的颜色多,且字符位数不统一,对处理造成了一定的困难。

虽然很多研究人员已对车牌识别进行了较为深入的研究,但目前在车牌定位和字符分割这两个关键环节还存在着有待解决的难题。

一是当车牌图像的对比度较小、光照不均匀、车牌磨损褪色以及有类似车牌纹理特征的干扰时,有效定位率下降;其次在车牌字符分割时,光照不均、对比度较小、倾斜、污迹、字符粘连和断裂等严重退化的车牌图像的字符分割效果也不理想。

而对于车牌字符的识别来说,其识别的准确率很大程度上依赖于车牌定位和字符分割是否成功。

车牌字符的识别作为最终对车牌图像的理解,可以借鉴光学字符识别的宝贵经验,相对于车牌定位和字符分割来说反而比较容易实现。

国外有大量关于车牌识别方面的研究报道。

国外在这方面的研究工作开展较早。

在上世纪70年代,英国就在实验室中完成了“实时车牌检测系统”的广域检测和开发。

同时代,诞生了面向被盗车辆的第一个实时自动车牌监测系统。

发展到今日,国外对车牌检测的研究已经取得了一些令人瞩目的成就,识别率都在80%以上,甚至有高于90%。

并且已经实现了产品化,并在实际的交通系统中得到了广泛的应用。

目前我国有普通地方车牌号、武警车牌号、军队车牌号三种类型,普通地方车牌号又叫自选号牌车牌(如图1所示),自选号牌车牌尺寸是

,即车牌长宽比为4.5:

1,一共7个字符,每个字符的高宽比为2:

1。

首个字符为中文字符,为各个省或直辖市的简称,第二个字符为英文大写字符,前两个字符确定该车牌所在地,后五个字符由阿拉伯数字及英文大写字符组合而成,并且后五个字符间距相同,七个字符大小也相同。

图1.1我国车牌号示例

1.2.2车牌识别技术的应用前景

车辆牌照自动识别技术是智能交通系统的一个重要组成部分,广泛应用于交通的监控及管理。

车辆牌照识别系统技术能够从一幅车辆图像中准确定位出车牌区域,然后经过字符切割和识别实现车辆牌照的自动识别。

目前车牌识别系统主要应用于以下领域:

1)停车场管理系统。

利用车牌识别技术对出入车辆的号牌进行识别和匹配,与停车卡结合实现自动计时、计费的车辆收费管理系统。

2)公路自动管理系统。

以车牌自动识别技术为基础,与通信等其他高科技结合,对高速公路交通流状况进行自动监测、自动布控,从而降低交通事故的发生率,确保交通顺畅。

3)安防布控。

采用车牌识别技术实现对车辆的自动识别,快速报警,既可以有效查找被盗车辆,同时又为公安机关提供了对犯罪嫌疑人的交通工具进行远程跟踪与监查的技术手段。

4)城市十字交通路口的“电子警察”。

可以对违章车辆进行责任追究,也可以辅助进行交通流量统计,交通监测和疏导。

5)小区、校园车辆管理系统。

社区保安系统将出入的车辆通过车牌识别技术进行记录,将结果与部车辆列表对比可以实现防盗监管。

1.3车牌识别研究容

车牌系统是计算机视觉和模式识别技术在智能交通领域的重要应用课题之一。

车牌识别系统是一特定目标位对象的专用计算机系统,该系统能从一幅图像中自动提取车牌图像、自动分割字符,进而对分割字符的图像进行图像识别。

系统一般由硬件和软件构成。

硬件设备一般由车体感应设备、辅助光源、摄像机、图像采集卡和计算机。

软件部分是系统的核心,主要实现车牌自符的识别功能。

车牌识别学科主要有模式识别、人工智能、图像处理、计算机视觉和信号处理等。

这些领域的许多技术都可以应用到车牌识别系统中,车牌识别技术的研究也必然推动这些相关学科的发展。

车牌识别的关键技术有:

车牌定位、字符切割和字符识别等。

车牌定位是要完成从图像中确定车牌位置并提取车牌区域图像,目前常用的方法有:

基于直线检测的方法、机遇与域值化的方法、基于灰度边缘检测方法、基于彩色图像的车牌分割方法、神经网络法和基于矢量量化的牌照的定位的方法等。

字符切割时完成车牌区域图像的切分处理从而得到所需要的单个字符图象。

目前常用的方法有:

基于投影的方法和基于连通字符的提取等方法。

字符识别是利用字符识别的原理识别提取出的字符图像,目前常用的方法有:

基于模板匹配的方法、基于特征的方法和神经网络法等。

2车牌识别系统设计原理概述

一个完整的车牌号识别系统要完成从图像采集到字符识别输出,过程相当复杂,基本可以分成硬件部分跟软件部分,软件部分包括图像预处理、车牌位置提取、字符分割、字符识别四大部分,一个车牌识别系统的基本结构如图2.1所示:

图2.1车牌识别系统基本结构框图

一:

原始图像:

由停车场固定彩色摄像机、数码相机或其他扫描装置拍摄到的图像。

二:

图像预处理:

对动态采集到的图像进行滤波,边界增强等处理以克服图像处理。

三:

车牌位置提取:

通过运算得到图像的边缘,再计算边缘图像的投影面积,寻找谷峰点以大概确定车牌的位置,再计算连通域的宽高比,剔除不在阈值围的连通域,最后便得到了车牌区域。

四:

字符分割:

利用投影检测的字符定位分割方法得到单个的字符。

五:

字符识别:

利用模板匹配的方法与数据库中的字符进行匹配从而确认出字符。

六:

输出结果:

得到最后的汽车牌照,包括汉字、字母和数字。

车牌号图像识别要进行牌照、颜色识别。

为了进行牌照识别,需要以下几个基本的步骤:

a.牌照定位,定位图片中的牌照位置;

b.牌照字符分割,把牌照中的字符分割出来;

c.牌照字符识别,把分割好的字符进行识别,最终组成牌照。

牌照识别过程中,牌照颜色的识别依据算法不同,可能在上述不同步骤实现,通常与牌照识别互相配合、互相验证。

牌照识别过程中,牌照颜色的识别依据算法不同,可能在上述不同步骤实现,通常与牌照识别互相配合、互相验证。

(1)牌照定位:

自然环境下,由于汽车图像背景复杂、光照不均匀等原因,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。

一般采用的方案是首先对采集到的视频图像进行大围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。

通过以上步骤,牌照一般能够被定位。

(2)牌照字符分割:

在完成牌照区域的定位后,还需要将牌照区域分割成单个字符,然后进行字符识别,最后输出结果。

字符分割一般采用垂直投影法。

垂直投影法的原理是由于字符在垂直方向上的投影必然在字符间或字符的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。

所以利用垂直投影法对复杂环境下的汽车图像的字符分割有较好的效果。

(3)牌照字符识别:

字符识别方法目前主要得算法有两种即基于模板匹配算法和基于人工神经网络算法。

基于模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。

3车牌识别系统程序设计

3.1图像读取及车牌区域提取

图像读取及车牌区域提取主要有:

图像灰度图转化、图像边缘检测、灰度图腐蚀、图像的平滑处理以及车牌区域的边界值计算。

其程序流程图如下:

图3.1预处理及边缘提取框图

目前比较常用的图像格式有*.BMP、*.JPG、*.GIF、*.PCX、*.TIFF等,本课题采集到的图片是*.JPG的格式。

因为使用*.JPG图像时有一个软件开发联合会组织制定、有损压缩格式,能够将图像压缩在很小的储存空间,而且广泛支持Internet标准,是面前使用最广的图片保存和传输格式,大多数摄像设备都以*.JPG格式保存。

利用图像工具箱的

Car_Image_RGB=imread(‘Image_Name’);

即可将图像读取出来,这样读取得到的是RGB图像,RGB图像分别用红、绿、蓝三个色度值为一组代表每个像素的颜色,因此Car_Image_RGB是一个

的数组,m、n表示图像像素的行、列数。

3.1.1图像灰度图转化

我国车牌颜色及其RGB值如下,蓝底(0,0,255)白字(255,255,255)、黄底(255,255,0)黑字(0,0,0)、黑底(0,0,0)白字(255,255,255)、红底(255,0,0)黑字(0,0,0),由于车牌的底色不同,所以从RGB图像直接进行车牌区域提取存在很大困难,但不管哪种底色的车牌,其底色与上面的字符颜色的对比度大,将RGB图像转化成灰度图像时,车牌底色跟字符的灰度值会相差很大。

例如蓝色(255,0,0)与白色(255,255,255)在R通道中并无区分,而在G、R通道或是灰度图象中数值相差很大。

同理对白底黑字的牌照可用R通道,绿底白字的牌照可以用G通道就可以明显呈现出牌照区域的位置,便于后续处理。

原图、灰度对于将彩色图象转换成灰度图象时,图象灰度值H可由下面的公式计算:

(3.1)

(3.2)

(3.1)式使用了权值加重法,(3.2)式使用均值法,使用权值法的好处是可以突出某个通道,Matlab的RGB转灰度图函数rgb2gray()就是使用的(3.1)式权值比例公式,这样就可以利用边缘检测方法,识别出临近区域灰度值相差大的分界区。

通过程序运行其效果图见图3.2和图3.3:

图3.2原始图像

 

图3.3灰度图像

由原图和灰度图运行结果可知,能清晰地读出原彩色图样,通过图形的对比分析,原始图中车牌区域的灰度明显不同于其他区域,蓝底部分最为明显。

经过程序运行出来的灰度图可以比较容易的识别出车牌的区域,达到了预期的灰度效果。

3.1.2图像的边缘检测

在Matlab中利用函数edge()实现边缘检测,具体的用法如下所示:

Car_Image_Bin=edge(Car_Image_Gray,'robert',0.15,'both');

在edge()函数中有Sobel算子,Prewitt算子,Roberts算子,Log算子,Canny算子及Robert算子,几种算法相比之下,Roberts算子是一种最简单的算子,是一种利用局部差分算子寻找边缘的算子,他采用对角线方向相邻两象素之差近似梯度幅值检测边缘。

检测垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感,无法抑制噪声的影响。

因此本课题使用了Robert算子。

由于Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,根据任一相互垂直方向上的差分都可用来估计梯度,Robert算子采用对角方向相邻两像素之差,其计算公式如下:

(3.3)             

(3.4)

其幅值为:

(3.5)

Robert梯度以

为中心,所以他度量了

点处

方向(相互正交)的灰度变化。

适当取门限T,做如下判断:

(x,y)为阶跃状边缘点。

Roberts边缘检测算子相当于用

对图像进行卷积。

both表示双向0.15为敏感度值检测算法。

使用边缘检测,腐蚀效果如图3.4所示:

图3.4边缘效果图

从边缘效果图可以看出,经过处理以后车牌的轮廓已经非常明显了,车牌区域及汽车标志的边缘呈现白色条纹,基本上达到了边缘检测的效果。

但是,在车牌附近的其他区域也由于各种干扰的影响,也存在一些白色区域。

所以要对图像做进一步的处理,用灰度图腐蚀来消除多余的边界点。

3.1.3灰度图腐蚀

所谓腐蚀即一种消除边界点,使边界向部收缩的过程。

利用它可以消除小而且无意义的物体。

腐蚀的规则是输出图像的最小值是输入图像领域中的最小值,在一个二值图像中,只要有一个像素值为0,则相应的输出像素值为0。

假设B对X腐蚀所产生的二值图像E是满足以下条件的点(x,y)的集合:

如果B的原点平移到点(x,y),那么B将完全包含于X中。

本系统使用imerode()函数,

Car_Image_Erode=imerode(Car_Image_Bin,Se);

其中结构元素Se又被形象成为刷子,用于测试输入图像,一般比待处理图像小很多。

结构元素的大小形状任意,一般是二维的。

二维结构元素为数值0和1组成的矩阵,结构元素中数值为1的点决定结构元素的领域像素在进行腐蚀操作时是否需要参加运算。

结构元素太大,会造成腐蚀过度,造成信息丢失,太小起不了预期的效果,这里使用

矩阵的线性结构元素,即

腐蚀后如图:

图3.5腐蚀效果图

从腐蚀的结果分析,腐蚀的目的是消除小而无意义的物体,对比边缘效果检测图与腐蚀效果图可以看出,在边缘检测图中还有的小的无意义的图像已经被完全消除了,留下来的仅仅是车牌区域以及车的标志。

已经得到了车牌图像的轮廓线了,只要再经过适当的处理即可把车牌提出出来。

3.1.4图像平滑处理

得到车牌区域的图像轮廓线后,由于图像的数字化误差和噪声直接影响了脚点的提取,因此在脚点提取之前必须对图像进行平滑处理,Matlab有一个图像平滑处理函数imclose(),它与开运算相反,融合窄的缺口和细长的弯口,去掉小洞,填补轮廓上的缝隙。

Car_Image_Perform=imclose(Car_Image_Erode,Se);

结构单元中Se一个小于对象闭合图形,只要两个封闭域的距离小于Se,就将这两个连接成一个连通域,Se生成方式采用

Se=strel('rectangle',[25,25]);

即Se是一个一个

的矩形,使用矩形是因为车牌是一个矩形,这样,可以是提取的图像最接近预期效果。

由于车牌图像经过腐蚀以后只剩下车牌区域以及车的标志。

在程序运行的图像平滑后效果如下:

图3.6平滑处理后效果

从平滑后的效果图分析,达到了预定的目标。

消除了图像的数字化误差和噪声对脚点的直接提取的影响。

3.1.5移除小对象

图像平滑处理了,可能会有多个闭合区域,对于不是车牌区域的必须予以删除,Matlab提供了一个函数bwareaopen(),用于删除二值图像中面积小于一个定值的对象,默认情况下使用8邻域,

   Car_Image_Perform2=bwareaopen(Car_Image_Perform,2000);

这样,Car_Image_Perform中面积小于2000的对象都被删除了。

小对象被删除后的图像如图3.7所示:

图3.7移除小对象后效果图

移除小对象后的效果图已经非常明显了,图像中最后只存在车牌区域,其他的图像已经完全滤除掉了,包括小物体,车的标志等影响已经没有了。

3.1.6车牌区域的边界值计算

在将原始图像进行二值化,然后轮廓平滑处理后,图像的每个点为两个离散值中的一个,这两个值代表开

(1)与关(0),即只有黑与白的特殊灰度图像,并且整个图像只有两个域(如果有多个域需改变参数后重新进行一此剔除干扰对象处理),全1的域即为车牌区域,并且近似矩形,长宽比为4.5:

1,也可以用这两个特性去检验提取的区域是否为车牌区域。

经区域确定了,即可将车牌的四个边界值确定下来。

这里采用水平与垂直双向投影法。

水平坐标的确定,先定义一个

的数组,其中

为原始图像的宽度值,然后将二值图像垂直投影到

轴。

从直方图中基本可以看书水平方向上的两个分界线,为了便于处理,该课题将像素值临界值定量化,取值5个像素。

从左向右寻找第一个1值像素大于5的

坐标为水平方向左侧分界线,从右向左寻找到第一个1值像素量大于5的为右侧分界线,程序可以用for循环语句。

垂直方向的分界线可用同样的方法实现。

分界线计算后,即可从原图像中剪切出只包含车牌的区域图像。

剪切得到的图像如下。

图3.8为二值图切割的车牌区域,图3.9为RGB图像切割出来的图像:

图3.8车牌区域二值图裁减图像

图3.9原图中的车牌区域图像

对比原始图像与二值图裁减图可以看出,车牌的四个边界值基本上被确定下来了,这样就可以从原始图像中直接确定车牌的区域了。

所以车牌就成功地被提取出来了。

3.2字符切割

3.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1