
基于matlab汽车号牌识别系统设计.doc
18页基于matlab-汽车号牌识别系统设计———————————————————————————————— 作者:———————————————————————————————— 日期: 汽车号牌识别系统设计**中文摘要:随着二十一世纪到来,经济快速发展和人们生活水平显著提高,汽车逐渐成为家庭的主要交通工具汽车的产量快速增多,车辆流动也变得越来越频繁,因此给交通带来了严重问题,如交通堵塞、交通事故等,智能交通系统(Intelligent Transportation System)的产生就是为了从根本上解决交通问题在智能交通系统中车牌识别技术占有重要位置,车牌识别技术的推广普及必将对加强道路管理、城市交通事故、违章停车、处理车辆被盗案件、保障社会稳定等方面产生重大而深远的影响 该设计主要研究基于MATLAB软件的汽车号牌设别系统设计,系统主要包括图像采集、图像预处理、车牌定位、字符分割、字符识别五大核心部分系统的图像预处理模块是将图像经过图像灰度化、图像增强、边缘提取、二值化等操作,转换成便于车牌定位的二值化图像;利用车牌的边缘、形状等特征,再结合Roberts 算子边缘检测、数字图像、形态学等技术对车牌进行定位;字符的分割采用的方法是将二值化后的车牌部分进行寻找连续有文字的块,若长度大于设定的阈值则切割,从而完成字符的分割;字符识别运用模板匹配算法完成。
以上每个功能模块用MATLAB软件实现,最后识别出车牌,在研究设计的同时对其中出现的问题进行具体分析、处理,并寻求更优的方法关键词:MATLAB,车牌识别系统,字符识别,图像处理一、总体设计汽车号牌识别系统技术是从一幅车辆图像中准确定位出车牌区域,然后经过字符切割和字符识别来实现车辆牌照的自动识别主要流程图如下:读取图片图像预处理车牌定位字符分割模板库字符识别图1.1二、总体功能模块 基于MATLAB车牌识别系统主要包括图像采集、图像预处理、车牌定位、字符分割、字符识别五个关键环节[11],其基本工作如下:(1) 图像采集:使用摄像头、照相机拍摄采集图像2) 图像预处理:把图像转换成便于定位的二值化图像,需要经过图像灰度化、图像 增强、边缘提取、二值化操作3) 车牌定位:利用车牌的边缘、形状等特征,再结合Roberts 算子边缘检测、数字 图像、形态学等技术对车牌进行定位4) 字符分割:以二值化后的车牌部分进行寻找连续有文字的块,若长度大于设定的 阈值则切割,从而完成字符的分割5) 字符识别:运用模板匹配算法将分割后的字符二值化,并将其尺寸大小缩放为模 板库中字符的大小,然后与所有的模板进行匹配,准确地识别车牌。
输出识别 结果,并进行数据存储由于纹理特征车牌灰度图像的边缘、图像水平方向上的方差、水平方向上的梯度等比较稳定而且易于提取,所以本系统车牌定位算法采用纹理特征作为车牌的主要特征在汽车号牌字符识别中,由于汉字的复杂性所以本设计的模板库字符包含5个汉字,26个大写英文字母及10个阿拉伯数字首字符为汉字,第2-6个字符为英文字母或数字本系统采用的是边缘检测的方法实现车牌定位的,寻找连续有文字的块的方法实现字符分割,模板匹配法来确定最终的识别结果三、具体设计下图3.1流程图简要的概述了基本步骤: 图3.1图3.2图3.3图3.4 图3.5 图3.6图3.7图3.8图3.9图3.10由于本系统设计只限用于车牌底色为蓝色的车牌,对于其他颜色如黄色、白色等为底色的车牌则不成功所以本系统具有一定的局限性下面是分割后的车牌图:图3.11 图3.12下图是字符的分割与归一化的流程图:[m,n]=size(d),逐排检查有没有白色像素点,设1<=j 切割去图像上下多余的部分根据图像的大小,设置一阈值,检测图的X轴,若宽度等于这一阈值则切割,分离出七个字符归一化切割出来的字符图像的大小40*20,与模板中字符图像的大小相匹配 图3.13本系统设计采用的方法是寻找连续有文字的块,若长度大于设定的阈值,则认为该块有两个字符组成,需要分割 图3.14分割出来的字符可能存在一定的大小差距,所以要进行进一步的处理,以便接下来的字符识别能准确的识别出字符本系统设计对分割出来的字符进行了归一化处理,归一化切割出来的字符图像的大小为40*20,与模板中字符图像的大小相匹配图3.15本系统的模板匹配的字符识别基本过程是:首先对待识别字符进行二值化并将其尺寸大小缩放为字符数据库中模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果模板匹配的主要特点是实现简单,当字符较规整时对字符图像的缺损、污迹干扰适应力强且识别率相当高流程图如下:建立自动识别的代码表读取分割出来的字符第一个字符与模板中的汉字模板进行匹配第二个字符与模板中的字母模板进行匹配待识别字符与模板字符相减,值越小相似度越大,找到最小的一个即为匹配的最好的识别完成,输出此模板对应值后5个字符与模板中的字母与数字模板进行匹配图3.16 本系统设计采用相减的方法找到出分割字符与模板库中的字符相似度最大的字符,然后输出。 汽车号牌的字符一般有七个,大部分车牌第一位是汉字,通常代表车辆所属省份,接着的是字母与数字车牌字符汉字共约50多个,大写英文字母26个,数字10个为了提高系统的识别率与实验的方便,本次系统设计只建立了5个汉字26个字母与10个数字的字符模板库 首先取模板库的字符,接着依次取待识别字符与模板进行匹配,将其与模板库字符相减,得到的0越多那么匹配成功率越高把每一幅相减后的图的0值个数保存,即为识别出来的结果并将结果保存在Data.xls文件中字符识别图如下:图3.174、 优化后实现 图3.18 图3.195、 分析总结 汽车号牌识别系统是一个复杂的系统,考虑到时间和本人能力等因素,在这里我只做了一些初步的研究,很不够完善的地方,还需进一步的研究改进1)汽车号牌识别系统是针对车牌为蓝底白字,7个字符水平排列的汽车车牌进行研 究有些光照条件不理想的图片,需要先进行图象增强处理,让图象灰度动态范 围扩展和对比度增强,再进行车牌定位和分割,这样可以提高分割的成功率。 色 彩通道的车牌区域分割算法充分利用了车牌图象的色彩信息,简化了算法的实现, 加快了图象的处理速度,具有较高的正确率,而且整个程序用MATLAB语言编 程实现,运算速度快但是也存在一些识别效果不是很理想的图片,这些图片需 要做一些前提工作后才能识别出相应的字符2)车牌定位和分割中利用的车牌区域的宽度信息以及字符尺寸信息,是根据采集到 的车辆图像通过人工或者经验测算出来的,实际中需要自动检测;(3)由于基于寻找连续有文字的块的字符分割方法容易受噪声和环境光线变化的影 响,所以在车牌字符分割的预处理中,需要对分割出的字符车牌进行均值滤波, 膨胀或腐蚀的处理经过这些处理可以把字符与字符之间的杂色点去除,只有白 色的字符和黑色的背景存在,有利于的字符分割进行[19]4)字符识别方法中运用模板匹配的方法,方法简洁但识别率较低模板匹配法,是 利用要识别的字符图片与字符库中的图片进行两幅图片相减的方法,找到相减后 值最小的图片,其相似程度最大的模板库的字符制作很重要,必须要用精确的 模板,否则就不能正确的识别改进方法:(1)在现有的基础上利用水平投影的方法检测非横向排列的7个字符车牌,根据车牌在水平方向上的投影的峰值特征判断牌照所属类型。 2)在已定位车牌基础上检测牌照字符笔画的宽度,通过投影检测字符的尺寸信息;也可以通过摄像机架设的高度、角度与车道的关系,将这些参数作为系统参数进3)改进字符分割的算法,在车牌定位以后对图像进行去噪处理,或者可以通过照明设备照射车辆,由于车辆牌照区域的反光特性,可以大大改善图像采集的质量,同时突出牌照区域,间接达到减少噪声的效果4)可以考虑单独设备汉字识别器以及数字字母合一的识别来提高识别器的识别率!附录:程序清单1、车牌分割程序:function [PY2,PY1,PX2,PX1]=chepai_fenge(I5)[y,x,z]=size(I5);myI=double(I5);ticY_threshlow=5; %这个数值很重要决定了提取的彩图的质量X_firrectify=5;%====================== Y 方向============================Blue_y=zeros(y,1);for i=1:y for j=1:x if(myI(i,j,1)==1) Blue_y(i,1)= Blue_y(i,1)+1; % 蓝色象素点统计 end end end [temp MaxY]=max(Blue_y);% Y方向车牌区域确定 temp(最多点数):所有行中,最多的累积像素点 MaxY(最多点所在行):该行中蓝点最多 PY1=MaxY;%有最多蓝点的行付给PY1 while ((Blue_y(PY1,1)>=Y_threshlow)&&(PY1>1))%找到图片上边界 PY1=PY1-1; end PY2=MaxY; %PY1:存储车牌上边界值 while ((Blue_y(PY2,1)>=Y_threshlow)&&(PY2 决定了提取的彩图的质量,适当提高可抗干扰,但是小图会照成剪裁太多 Blue_x=zeros(1,x); % 进一步确。












