基于Matlab的车牌识别系统设计论文完整.doc
《基于Matlab的车牌识别系统设计论文完整.doc》由会员分享,可在线阅读,更多相关《基于Matlab的车牌识别系统设计论文完整.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 中国矿业大学模式识别- 基于matlab车牌识别系统设计指导教师: 梁志贞 周世斌 姓 名: 田凯 班 级: 信科10-1班 学 号: 08103476 时 间:二一三年六月目录1 绪论11.1 车牌号识别研究背景11.2 车牌号识别技术研究现状和趋势21.3 车牌识别研究内容42 车牌识别系统设计原理概述63 车牌识别系统程序设计83.1 图像读取及车牌区域提取83.2 字符切割153.3字符识别194 仿真结果及分析224.1 车牌定位及图像读取及其图像处理224.2 车牌字符分割及其图像处理224.3 车牌字符识别及其图像处理235 结论24附录:程序清单271 绪论1.1 车牌号识别
2、研究背景随着我国公路交通事业发展,车辆数量正在迅速增长,在给出行提供方便同时,车辆管理上存在问题日益突出,人工管理方式已经不能满足实际需要。微电子、通信与计算机技术在交通领域应用极大地提高了交通管理效率。作为信息来源自动检测、图像识别技术越来越受到人们重视。近年来计算机飞速发展与数字图像技术日趋成熟,为传统交通管理带来巨大转变,先进计算机处理技术,不但可以将人力从繁琐人工观察、监测中解放出来,而且能够大大提高其精确度,汽车牌照自动识别系统就是在这样背景及目下进行开发。汽车牌照等相关信息自动采集与管理对于交通车辆管理、园区车辆管理、停车场管理、交警稽查等方面有着十分重要意义,成为信息处理技术一项
3、重要研究课题。车牌识别难点:1)由于车牌图像多在室外采集,会受到光照条件、天气条件影响,会出现图像模糊,对比度低,目标区域过小,色彩失真等影响,并且会伴随复杂背景图像,这些都会影响车牌定位及识别。2)每次采集时目标所处位置不会一样,采集视角会有很大变化,并且由于车牌挂不正,都将导致车牌出现扭曲。3)牌照多样性。其他国家汽车牌照格式,如尺寸大小,牌照上字符排列等,通常只有一种。而我国则根据不同车型、用途,规定了多种牌照格式,例如分为军车、警车、普通车等。我国标准车牌照是由汉字、英文字母与阿拉伯数字组成,汉字识别及字母与数字识别有很大不同,增加了识别难度。4)我国汽车牌照底色与字符颜色多样,蓝底白
4、字、黄底黑字、黑底白字、红底黑字、绿底白字等多种。5)由于环境、道路或人为因素造成汽车牌照污染严重,这种情况下国外发达国家不允许上路,而在我国仍可上路行驶。使得车牌对比度降低,特征不是很明显,即使在定位准确情况下,字符识别也会受到很大影响。目前在国内存在多种牌照格式,且存在以上种种困难与特殊性,加大了我国车牌自动识别难度,使得中国车辆牌照识别远远难于国外车辆牌照识别。因而如何提高识别率与识别处理实时性及实用性成了一个紧要任务。1.2 车牌号识别技术研究现状与趋势1.2.1国内外车牌识别技术情况及我国车牌特点目前我国有普通地方车牌号、武警车牌号、军队车牌号三种类型,普通地方车牌号又叫自选号牌车牌
5、(如图1所示),自选号牌车牌尺寸是,即车牌长宽比为4.5:1,一共7个字符,每个字符高宽比为2:1。首个字符为中文字符,为各个省或直辖市简称,第二个字符为英文大写字符,前两个字符确定该车牌所在地,后五个字符由阿拉伯数字及英文大写字符组合而成,并且后五个字符间距相同,七个字符大小也相同。图 1.1 我国车牌号示例车辆牌照自动识别技术是智能交通系统一个重要组成部分,广泛应用于交通监控及管理。车辆牌照识别系统技术能够从一幅车辆图像中准确定位出车牌区域,然后经过字符切割与识别实现车辆牌照自动识别。目前车牌识别系统主要应用于以下领域:1)停车场管理系统。利用车牌识别技术对出入车辆号牌进行识别与匹配,及停
6、车卡结合实现自动计时、计费车辆收费管理系统。2)公路自动管理系统。以车牌自动识别技术为基础,及通信等其他高科技结合,对高速公路交通流状况进行自动监测、自动布控,从而降低交通事故发生率,确保交通顺畅。3)安防布控。采用车牌识别技术实现对车辆自动识别,快速报警,既可以有效查找被盗车辆,同时又为公安机关提供了对犯罪嫌疑人交通工具进行远程跟踪及监查技术手段。4)城市十字交通路口“电子警察”。可以对违章车辆进行责任追究,也可以辅助进行交通流量统计,交通监测与疏导。5)小区、校园车辆管理系统。社区保安系统将出入车辆通过车牌识别技术进行记录,将结果及内部车辆列表对比可以实现防盗监管。1.3 车牌识别研究内容
7、车牌系统是计算机视觉与模式识别技术在智能交通领域重要应用课题之一。车牌识别系统是一特定目标位对象专用计算机系统,该系统能从一幅图像中自动提取车牌图像、自动分割自符,进而对分割自符图像进行图像识别。系统一般由硬件与软件构成。硬件设备一般由车体感应设备、辅助光源、摄像机、图像采集卡与计算机。软件部分是系统核心,主要实现车牌自符识别功能。车牌识别学科主要有模式识别、人工智能、图像处理、计算机视觉与信号处理等。这些领域许多技术都可以应用到车牌识别系统中,车牌识别技术研究也必然推动这些相关学科发展。车牌识别关键技术有:车牌定位、字符切割与字符识别等。车牌定位是要完成从图像中确定车牌位置并提取车牌区域图像
8、,目前常用方法有:基于直线检测方法、机遇及域值化方法、基于灰度边缘检测方法、基于彩色图像车牌分割方法、神经网络法与基于矢量量化牌照定位方法等。字符切割时完成车牌区域图像切分处理从而得到所需要单个字符图象。目前常用方法有:基于投影方法与基于连通字符提取等方法。字符识别是利用字符识别原理识别提取出字符图像,目前常用方法有:基于模板匹配方法、基于特征方法与神经网络法等。2 车牌识别系统设计原理概述一个完整车牌号识别系统要完成从图像采集到字符识别输出,过程相当复杂,基本可以分成硬件部分跟软件部分,硬件部分包括系统触发、图像采集,软件部分包括图像预处理、车牌位置提取、字符分割、字符识别四大部分,一个车牌
9、识别系统基本结构如图2.1所示:原始图像图像预处理车牌位置提取字符分割字符识别输出结果图 2.1 车牌识别系统基本结构框图一:原始图像:由停车场固定彩色摄像机、数码相机或其他扫描装置拍摄到图像。二:图像预处理:对动态采集到图像进行滤波,边界增强等处理以克服图像处理。三:车牌位置提取:通过运算得到图像边缘,再计算边缘图像投影面积,寻找谷峰点以大概确定车牌位置,再计算连通域宽高比,剔除不在阈值范围内连通域,最后便得到了车牌区域。四:字符分割:利用投影检测字符定位分割方法得到单个字符。五:字符识别:利用模板匹配方法及数据库中字符进行匹配从而确认出字符。六:输出结果:得到最后汽车牌照,包括汉字、字母与
10、数字。 车牌号图像识别要进行牌照号码、颜色识别 。为了进行牌照识别,需要以下几个基本步骤:a.牌照定位,定位图片中牌照位置;b.牌照字符分割,把牌照中字符分割出来;c.牌照字符识别,把分割好字符进行识别,最终组成牌照号码。牌照识别过程中,牌照颜色识别依据算法不同,可能在上述不同步骤实现,通常及牌照识别互相配合、互相验证。(1)牌照定位:自然环境下,由于汽车图像背景复杂、光照不均匀等原因,如何在自然背景中准确地确定牌照区域是整个识别过程关键。一般采用方案是首先对采集到视频图像进行大范围相关搜索,找到符合汽车牌照特征若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳区域作为
11、牌照区域,并将其从图象中分割出来。通过以上步骤,牌照一般能够被定位。(2)牌照字符分割 :在完成牌照区域定位后,还需要将牌照区域分割成单个字符,然后进行字符识别,最后输出结果。字符分割一般采用垂直投影法。垂直投影法原理是由于字符在垂直方向上投影必然在字符间或字符内间隙处取得局部最小值附近,并且这个位置应满足牌照字符书写格式、字符、尺寸限制与一些其他条件。所以利用垂直投影法对复杂环境下汽车图像字符分割有较好效果。(3)牌照字符识别:字符识别方法目前主要得算法有两种即基于模板匹配算法与基于人工神经网络算法。基于模板匹配算法首先将分割后字符二值化,并将其尺寸大小缩放为字符数据库中模板大小,然后及所有
12、模板进行匹配,最后选最佳匹配作为结果。基于人工神经元网络算法有两种:一种是先对待识别字符进行特征提取,然后用所获得特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络自动实现特征提取直至识别出结果。实际应用中,牌照识别系统识别率及牌照质量与拍摄质量密切相关。牌照质量会受到各种因素影响,如生锈、污损、油漆剥落、字体褪色、牌照被遮挡、牌照倾斜、高亮反光、多牌照、假牌照等等;实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素影响。这些影响因素不同程度上降低了牌照识别识别率,也正是牌照识别系统困难与挑战所在。为了提高识别率,除了不断完善识别算法,还应该想办法克服各种光照条件,使
13、采集到图像最利于识别。3 车牌识别系统程序设计图像读取及车牌区域提取主要有:图像灰度图转化、图像边缘检测、灰度图腐蚀、图像平滑处理以及车牌区域边界值计算。其程序流程图如下: 输入车牌图象灰度校正平滑处理提取边缘 图 3.1 预处理及边缘提取框图 目前比较常用图像格式有*.BMP、*.JPG、*.GIF、*.PCX、*.TIFF 等,本课题采集到图片是*.JPG 格式。因为使用*.JPG图像时有一个软件开发联合会组织制定、有损压缩格式,能够将图像压缩在很小储存空间,而且广泛支持 Internet 标准,是面前使用最广图片保存与传输格式,大多数摄像设备都以*.JPG格式保存。利用图像工具箱Car_
14、Image_RGB=imread(Image_Name);即可将图像读取出来,这样读取得到是RGB图像,RGB图像分别用红、绿、蓝三个色度值为一组代表每个像素颜色,因此Car_Image_RGB是一个数组,m、n表示图像像素行、列数。我国车牌颜色及其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图像转化成灰度图像
15、时,车牌底色跟字符灰度值会相差很大。例如蓝色(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)式权值比例公式,这样就可以利用边缘检测方法,识别出临近区域灰度值相差大分界区。通过程序
16、运行其效果图见图3.2与图3.3:图 3.2 原始图像图 3.3灰度图像由原图与灰度图运行结果可知,能清晰地读出原彩色图样,通过图形对比分析,原始图中车牌区域灰度明显不同于其他区域,蓝底部分最为明显。经过程序运行出来灰度图可以比较容易识别出车牌区域,达到了预期灰度效果。 在Matlab中利用函数edge()实现边缘检测,具体用法如下所示:Car_Image_Bin=edge(Car_Image_Gray,robert,0.15,both);在edge()函数中有Sobel算子,Prewitt算子,Roberts算子,Log算子,Canny算子及Robert算子,几种算法相比之下,Roberts
17、算子是一种最简单算子,是一种利用局部差分算子寻找边缘算子,他采用对角线方向相邻两象素之差近似梯度幅值检测边缘。检测垂直边缘效果好于斜向边缘,定位精度高,对噪声敏感,无法抑制噪声影响。 因此本课题使用了Robert算子。由于Roberts边缘检测算子是一种利用局部差分算子寻找边缘算子, 根据任一相互垂直方向上差分都可用来估计梯度,Robert 算子采用对角方向相邻两像素之差,其计算公式如下: (3.3) (3.4)其幅值为: (3.5)Robert梯度以为中心,所以他度量了点处与方向(相互正交)灰度变化。适当取门限T,做如下判断:,(x,y)为阶跃状边缘点。Roberts边缘检测算子相当于用与:
18、图 3.4 边缘效果图从边缘效果图可以看出,经过处理以后车牌轮廓已经非常明显了,车牌区域及汽车标志边缘呈现白色条纹,基本上达到了边缘检测效果。但是,在车牌附近其他区域也由于各种干扰影响,也存在一些白色区域。所以要对图像做进一步处理,用灰度图腐蚀来消除多余边界点。所谓腐蚀即一种消除边界点,使边界向内部收缩过程。利用它可以消除小而且无意义物体。腐蚀规则是输出图像最小值是输入图像领域中最小值,在一个二值图像中,只要有一个像素值为0,则相应输出像素值为0。假设B对X腐蚀所产生二值图像E是满足以下条件点(x,y)集合:如果B原点平移到点(x,y),那么B将完全包含于X中。本系统使用imerode()函数
19、,Car_Image_Erode=imerode(Car_Image_Bin,Se);其中结构元素Se又被形象成为刷子,用于测试输入图像,一般比待处理图像小很多。结构元素大小形状任意,一般是二维。二维结构元素为数值0与1组成矩阵,结构元素中数值为1点决定结构元素领域像素在进行腐蚀操作时是否需要参加运算。结构元素太大,会造成腐蚀过度,造成信息丢失,太小起不了预期效果,这里使用矩阵线性结构元素,即。腐蚀后如图:图 3.5 腐蚀效果图从腐蚀结果分析,腐蚀目是消除小而无意义物体,对比边缘效果检测图及腐蚀效果图可以看出,在边缘检测图中还有小无意义图像已经被完全消除了,留下来仅仅是车牌区域以及车标志。已经
20、得到了车牌图像轮廓线了,只要再经过适当处理即可把车牌提出出来。得到车牌区域图像轮廓线后,由于图像数字化误差与噪声直接影响了脚点提取,因此在脚点提取之前必须对图像进行平滑处理,Matlab有一个图像平滑处理函数imclose(),它及开运算相反,融合窄缺口与细长弯口,去掉小洞,填补轮廓上缝隙。Car_Image_Perform=imclose(Car_Image_Erode,Se);结构单元中Se一个小于对象闭合图形,只要两个封闭域距离小于Se,就将这两个连接成一个连通域,Se生成方式采用Se=strel(rectangle,25,25);即Se是一个一个矩形,使用矩形是因为车牌是一个矩形,这样
21、,可以是提取图像最接近预期效果。由于车牌图像经过腐蚀以后只剩下车牌区域以及车标志。在程序运行图像平滑后效果如下:图 3.6 平滑处理后效果 从平滑后效果图分析,达到了预定目标。消除了图像数字化误差与噪声对脚点直接提取影响。图像平滑处理了,可能会有多个闭合区域,对于不是车牌区域必须予以删除,Matlab提供了一个函数bwareaopen(),用于删除二值图像中面积小于一个定值对象,默认情况下使用8邻域,Car_Image_Perform2=bwareaopen(Car_Image_Perform,2000);这样,Car_Image_Perform中面积小于2000对象都被删除了。小对象被删除后
22、图像如图3.7所示:图 3.7 移除小对象后效果图 移除小对象后效果图已经非常明显了,图像中最后只存在车牌区域,其他图像已经完全滤除掉了,包括小物体,车标志等影响已经没有了。在将原始图像进行二值化,然后轮廓平滑处理后,图像每个点为两个离散值中一个,这两个值代表开(1)及关(0),即只有黑及白特殊灰度图像,并且整个图像只有两个域(如果有多个域需改变参数后重新进行一此剔除干扰对象处理),全1域即为车牌区域,并且近似矩形,长宽比为4.5:1,也可以用这两个特性去检验提取区域是否为车牌区域。经区域确定了,即可将车牌四个边界值确定下来。这里采用水平及垂直双向投影法。水平坐标确定,先定义一个数组,其中为原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 车牌 识别 系统 设计 论文 完整
限制150内