基于MATLAB的车牌号码识别系统设计word格式.doc
- 文档编号:18862686
- 上传时间:2024-02-02
- 格式:DOC
- 页数:45
- 大小:2.11MB
基于MATLAB的车牌号码识别系统设计word格式.doc
《基于MATLAB的车牌号码识别系统设计word格式.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的车牌号码识别系统设计word格式.doc(45页珍藏版)》请在冰点文库上搜索。
2012届毕业设计
基于MATLAB的汽车车牌的
号码识别系统设计
院、部:
电气与信息工程学院
学生姓名:
桂庆刚
指导教师:
何淑珍职称讲师
专业:
电子信息工程
班级:
电子0802
完成时间:
2012年5月
摘要
汽车车牌的识别系统是现代智能交通管理的重要组成部分之一。
车牌识别系统使车辆管理更智能化,数字化,有效的提升了交通管理的方便性和有效性。
车牌识别系统主要包括了图像采集、图像预处理、车牌定位、字符分割、字符识别等五大核心部分。
本文主要介绍图像预处理、车牌定位、字符分割三个模块的实现方法。
本文的图像预处理模块是将图像灰度化和用Roberts算子进行边缘检测的步骤。
车牌定位和分割采用的是利用数学形态法来确定车牌位置,再利用车牌彩色信息的彩色分割法来完成车牌部位分割。
字符的分割采用的方法是以二值化后的车牌部分进行垂直投影,然后在对垂直投影进行扫描,从而完成字符的分割。
本文即是针对其核心部分进行阐述并使用MATLAB软件环境中进行字符分割的仿真。
关键词:
MATLAB、图像预处理、车牌定位、字符分割
ABSTRACT
Vehiclelicenseplaterecognitionsystemisoneimportantofthemodernintelligenttrafficmanagement.Licenseplaterecognitionsystemtomakemoreintelligentvehiclemanagement,digital,Effectivetrafficmanagementtoenhancetheconvenienceandeffectiveness.Licenseplaterecognitionsystemincludesimageacquisition,imagepreprocessing,licenseplatelocalization,charactersegmentation,characterrecognitionandotherfivecoreparts.
Inthispaper,preprocessing,licenseplatelocalization,charactersegmentationmethodfortherealizationofthreemodules.ThisistheimagepreprocessingmoduleandtheuseoftheimagegrayscaleRobertsedgedetectionoperatorsteps.Licenseplatelocationandsegmentationusingmathematicalmorphologymethodisusedtodeterminethelicenseplatelocation,Re-uselicenseplatecolorsegmentationmethodofcolorinformationtocompletethelicenseplateareasegmentation.Charactersegmentationapproachisbasedonthelicenseplateafterthebinarypartoftheverticalprojection,Thenscanintheverticalprojection,thuscompletingthecharactersegmentation.ThisarticleisdescribedforthecorepartandusetheMATLABsoftwareenvironment,thesimulationexperimentsforcharactersegmentation.
Keywords:
MATLABSoftware,Imagepreprocessing,Licenseplatelocalization,Charactersegmentation
目录
1绪论 1
1.1选题背景 1
1.2设计前景 1
1.3车牌号码识别原理 1
1.4MATLAB简介 2
2车牌号码识别系统总体方案 3
2.1车牌号码识别系统硬件介绍 3
2.2车牌号码识别系统软件设计 4
2.2.1图像预处理 5
2.2.2车牌定位 5
2.2.3牌照字符分割 5
2.2.4牌照字符识别 5
2.3本章小节 6
3图像预处理 7
3.1图像灰度化 7
3.2.灰度拉伸 8
3.3图像平滑 8
3.4边缘提取 9
4车牌定位 10
4.1车牌特征的信息分析 11
4.1.1车牌特征的信息分析 11
4.1.2常见车牌颜色特征的信息 12
4.1.3车牌特征分析结论 13
4.2车牌号码初定位 13
4.2.1车牌二值化 14
4.2.2图像二值化的基本原理 14
4.3牌照区域的分割 15
5牌照字符分割 16
5.1字符字符切分综述 16
5.1.1字符分割 16
5.1.2字符归一化 16
6车牌字符的识别 17
6.1车牌字符识别综述 17
6.2模版匹配字符识别 17
7车牌号码识别软件设计结果及分析 20
7.1车牌识别仿真 20
7.2结果分析 27
结束语 29
致谢 30
参考文献 31
附录程序清单 32
1绪论
1.1选题背景
汽车牌照自动识别系统是制约道路交通智能化的重要因素,包括车牌定位、字符分割和字符识别三个主要部分。
由于牌照图象在原始图象中是很有特征的一个子区域,确切说是水平度较高的横向近似的长方形,它在原始图象中的相对位置比较集中,而且其灰度值与周边区域有明显的不同,因而在其边缘形成了灰度突变的边界,这样就便于通过边缘检测来对图象进行分割,从而定位车辆牌照,然后利用车牌的彩色信息的彩色分割方法。
在字符识别部分,利用模板匹配字符识别算法进行对车牌号码的识别。
实验结果表明,本文提出的方法具有不错的识别性能。
随着公路逐渐普及,我国的公路交通事业发展迅速,所以人工管理方式已经不能满着实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。
汽车牌照的自动识别技术已经得到了广泛应用。
1.2设计前景
牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。
其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。
某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。
一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。
当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。
牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。
1.3车牌号码识别原理
车辆牌照识别系统的基本工作原理为:
将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。
我们知道输入的彩色图像包含大量颜色信息,会占用计算机较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,通常将彩色图像转换为灰度图像,以加快处理速度。
对图像进行灰度化处理、边缘提取、再利用形态学方法对车牌进行定位。
具体步骤如下:
首先通过MATLAB软件对图像进行灰度转换,二值化处理然后采用4X1的结构元素对图像进行腐蚀,去除图像的噪声。
采用25X25的结构元素,对图像进行闭合应算使车牌所在的区域形成连通。
在进行形态学滤波去除其它区域。
1.4MATLAB简介
Matlab(MatrixLaboratory)是美国MathWorks公司开发的一套高性能的数值分析和计算软件,用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境,是目前最好的科学计算类软件之一。
MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。
MATLAB已发展成为适合众多学科,多种工作平台、功能强大的大型软件。
在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。
成为攻读学位的本科、硕士、博士生必须掌握的基本技能。
在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。
在中国,MATLAB也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能。
2车牌号码识别系统总体方案
一个完整的车辆牌照识别系统是一个复杂的系统,应该包括图像采集、图像预处理、车牌定位、字符切分、字符识别以及图像编码、数码传输与更新等步骤,基本可以分为硬件部分和软件部分,硬件部分主要完成车辆图像的摄取采集,软件部分主要完成对采集到的车辆图像进行车辆牌照定位、车牌字符切分与车牌字符识别等工作,这部分工作最为复杂,最后对识别结果进行数据传送和存储,将处理后的识别信息交给管理系统进行管理。
整个系统的核心是软件部分的工作,能否通过牌照对车辆进行有效管理,很大程度上取决于软件部分识别车牌的准确性。
目前,研究的车牌识别系统大部分都是基于直接法,即是基于图像理解的汽车牌照识别,该方法的一般结构如下:
图1车牌识别系统流程图
2.1车牌号码识别系统硬件介绍
一个车牌识别系统的基本硬件配置由摄像机、主控机、采集卡和照明装置组成。
例如在停车场管理系统中,系统硬件主要包括车辆传感探测器、高性能工控计算机、高分辨率CCD摄像机、高放大倍数镜头、CCD自动亮度控制器和视频采集卡等。
首先是探测车辆的接近、通过和停留等。
常用的有光探测器、微波雷达通过型探测器、测速雷达探测器、声探测器、红外探测器、电磁感应探测器和压敏探测器等。
我国停车场应用较多的是红外探测器和电磁感应环探测器。
设置在停车场入口和出口的两对红外发射和接收设备进行车辆检测。
利用编码调制信号,增强抗干扰的能力,具有较强的可靠性。
前端工控机利用红外线探测到车辆经过的信号时,控制图像采集卡抓拍图像,并对抓拍的汽车图像进行牌照识别,同时控制摄像机光圈的大小,以适应外界环境不同的光照条件。
然后将识别出的牌照信息储存到服务器中,当车辆离开时,同样的进行牌照识别,将其与前面输入的牌照信息进行对比,计算出停车时间,然后计费。
本课题主要侧重算法的研究,主要工作是设计软件,对已摄取到的卡口车辆照片实现车牌识别。
2.2车牌号码识别系统软件设计
硬件设备采集到图片后首先要考虑图像的存储格式。
目前比较常用的图像格式有*.BMP、*.JPG、*.GIF、*.PCX等,本课题采集到的图片是*.JPG的格式。
软件系统的编写大多采用VC或者MATLAB语言,本课题选用了MATLAB语言。
MATLAB具有以下优点:
(1)MATLAB编程效率高,使用方便。
MATLAB以矩阵作为基本语言要素大大提高了数值计算的编程效率。
MATLAB本身拥有丰富的函数库,并具有结构化的流程控制语句和运算符,用户在使用过程中能够方便自如地应用。
其图像处理工具箱更是大大扩展了MATLAB解决图像处理问题的能力,其他还有诸如用于神经网络和小波的工具箱等,对于算法的分析都有着很大的帮助。
(2)MATLAB扩充能力强,交互性好,移植性和开放性较好。
MATLAB的库函数同用户文件在形式上是一样的,用户可以根据自己的需求方便地建立与扩充新的库函数,扩充其功能。
MATLAB可在Windows系列、UNIX、Linux、VMS6.1、PowerMac平台上使用,且所有的核心文件和工具箱文件都是公开的,用户可以修改源文件构成新的工具箱,从而可以扩充很多新的功能,利于算法的研究和改进。
(3)较强的图形控制和处理功能,自带的API使得用户可以方便地在MATLAB与C、C++等其他程序设计语言之间建立数据通信。
本文设计的系统采用MATLAB搭建车辆牌照识别系统,具有非常明显的优势:
a.可以直接使用MATLAB的ImageAcquisitionToolbox、ImageProcessingToolbox以及NeuralNetworkToolbox作为骨架来搭建整个系统。
b.使用MATLAB的图形用户界面技术(GUI)编写牌照识别系统面板,可以达到与牌照定位切分程序及字符识别程序的无缝连接。
c.使用专业工具箱,使得研究人员不必过于关心程序的细节问题,可以将主要的精力放在算法的研究、设计方面,极大地减少了工作量,为算法的研究改进提供了先决条件。
我们知道输入的彩色图像包含大量颜色信息,会占用计算机较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,通常将彩色图像转换为灰度图像,以加快处理速度。
对图像进行灰度化处理、边缘提取、再利用形态学方法对车牌进行定位。
具体步骤如下:
首先通过MATLAB软件对图像进行灰度转换,二值化处理然后采用4X1的结构元素对图像进行腐蚀,去除图像的噪声。
采用25X25的结构元素,对图像进行闭合应算使车牌所在的区域形成连通。
在进行形态学滤波去除其它区域。
2.2.1图像预处理
由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的准确性。
因此,需要对字符在识别之前再进行一次针对性的处理。
2.2.2车牌定位
自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。
首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。
图2牌照定位流程图
2.2.3牌照字符分割
完成牌照区域的定位后,再将牌照区域分割成单个字符,然后进行识别。
字符分割一般采用垂直投影法。
由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足牌照的字符书写格式、字符、尺寸限制和一些其他条件。
利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。
图3牌照字符分割流程图
2.2.4牌照字符识别
字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。
基于模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。
基于人工神经元网络的算法有两种:
一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。
实际应用中,牌照识别系统的识别率与牌照质量和拍摄质量密切相关。
牌照质量会受到各种因素的影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。
这些影响因素不同程度上降低了牌照识别的识别率,也正是牌照识别系统的困难和挑战所在。
为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照条件,使采集到的图像最利于识别。
图4牌照字符识别流程图
2.3本章小节
本章主要介绍了车牌识别系统的总体设计方案。
首先,简单介绍了车牌识别系统的组成部分,包括硬件部分和软件部分。
硬件部分主要完成车辆图像的摄取,获取高质量的含有牌照的图像,受条件限制,关于硬件的研究本文未展开具体工作。
软件部分在整个系统中占有很重要的地位,而且软件的优化和升级能在很大程度上弥补硬件的不足,因此是本文研究的重点,软件研究主要是设计车牌识别系统的主体,包括基于小波变换的车牌定位模块、基于Otsu算法的车牌字符切分模块以及基于改进的BP神经网络算法的车牌字符识别模块。
在确定总体设计方案后,后面将对每一模块依次进行介绍。
3图像预处理
利用摄像头拍摄到的车辆图像往往存在很多噪点,因此在进行识别前要进行车辆图像的预处理。
车辆图像的预处理[8]是指对采集到的车辆图像进行灰度化和去噪处理,以使车辆图像尤其是牌照区域的图像的质量得到改善,同时保留和增强车牌中纹理和颜色的信息,去除可能影响牌照区域纹理和颜色信息的噪点,为牌照定位提供方便。
[3]其流程图为:
图5预处理及边缘提取流程图
3.1图像灰度化
灰度图是指只包含亮度信息,不包含色彩信息的图像,例如平时看到的亮度连续变化的黑白照片就是一幅灰度图。
灰度化处理就是将一幅彩色图像转化为灰度图像的过程。
彩色图像分为R、G、B三个分量,分别显示出红、绿、蓝等各种颜色,灰度化就是使彩色的R、G、B分量相等的过程。
灰度值大的像素点比较亮(像素值最大为255,为白色),反之比较暗(像素值最小为0,是黑色)。
图像灰度化的算法[4]主要有以下3种:
(1)最大值法:
使转化后R、G、B的值等于转化前3个值中最大的一个,即:
(1)这种方法转换的灰度图亮度很高。
(2)平均值法:
使转化后R、G、B的值为转化前R、G、B的平均值
(2)
这种方法产生的灰度图像比较柔和。
(3)加权平均值法:
按照一定的权值,对R、G、B的值加权平均,即:
(3)
其中,、、分别为R、G、B的权值。
、、取不同的值,将形成不同的灰度图像。
由于人眼对绿色最为敏感,红色次之,对蓝色的敏感性最低,因此使>>将得到较易识别的灰度图像。
一般情况下,当=0.299、=0.587、=0.114时,得到的灰度图像效果最好。
3.2.灰度拉伸
对车辆图像进行灰度化处理之后,车牌部分和非车牌部分图像的对比度并不是很高,此时如果直接进行边缘提取,由于车牌界限较为模糊,难以提取出车牌边缘,因而难以准确定位车牌。
为了增强牌照部位图像和其他部位图像的对比度,使其明暗鲜明,有利于提高识别率,需要将车辆图像进行灰度拉伸。
所谓灰度拉伸,是指根据灰度直方图的分布有选择地对灰度区间进行分段拉伸以增强对比度。
如图7所示。
它将输入图像中某点的灰度,通过映射函数T,映射成输出图像中的灰度,即:
((4)
假定原图像的灰度范围为[s1,s2]希望变换后图像的灰度范围扩
展至[t1,t2],可采用下述线性变换来实现。
(5)
3.3图像平滑
车牌图像往往存在一些孤立的噪点。
在汽车牌照图像处理初期,若不能有效抑制或者去除这些噪点,将影响车牌定位的准确性或者造成无法定位。
通常采用图像平滑的方法去除噪点。
图像平滑包括空域滤波和频域滤波。
其中空域滤波中采用平滑滤波器的中值滤波去除噪点的效果最好。
中值滤波的主要原理是:
首先确定一个以某个像素为中心点的邻域,一般为方形邻域;然后将邻域中的各个像素的灰度值进行排序,取其中间值作为中心点像素灰度的新值,这里的邻域通常被称为窗口;当窗口在图像中上下左右进行移动后,利用中值滤波算法可以很好地对图像进行平滑处理。
但实际中为了简化算法也可以直接在空域中用求邻域平均值的方法莱削弱噪声的影响,这种方法称为图象平滑处理。
例如,某一象素点的邻域S有两种表示方法:
8邻域和4邻域分别对应的邻域平均值为:
表28领域表34领域
2
3
i,j
1
4
4
3
2
5
i,j
1
6
7
8
(6)
其中,M为邻域中除中心象素点f(i,j)之外包括的其它象素总数,对于4邻域M=4,8邻域M=8。
然而,邻域平均值的平滑处理会使得图象灰度急剧变化的地方,尤其是物体边缘区域和字符轮廓等部分产生模糊作用。
为了克服这种平均化引起的图象模糊现象,我们给中心点象素值与其邻域平均值的差值设置一固定的阈值,只有大于该阈值的点才能替换为邻域平均值,而差值不大于阈值时,仍保留原来的值,从而减少由于平均化引起的图象模糊。
3.4边缘提取
边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,边缘检测主要是精确定位边缘和抑制噪点,其基本思想是首先利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置门限的方法提取边缘点集。
图像中车辆牌照是具有比较显著特征的一块图象区域,这此特征表现在:
近似水平的矩形区域;其中字符串都是按水平方向排列的;在整体图象中的位置较为固定。
正是由于牌照图象的这些特点,再经过适当的图象变换,它在整幅中可以明显地呈现出其边缘。
边缘提取是较经典的算法,能够进行检测的方法有多种,如Roberts边缘算子、Prewitt算子、Sobel算子以及拉普拉斯边缘检测;Robert算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。
Prewitt算子和Sobel算子都是一阶的微分算子,而前者是平均滤
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 车牌 号码 识别 系统 设计 word 格式