您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 车牌识别系统需求规格说明书
车牌识别系统需求规格说明书一、引言1.1编写目的随着经济发展和人民生活水平的不断提高,汽车数量急剧增加,城市与城市之间的车辆流动也变得越来越频繁。一些严重问题如交通堵塞、交通事故发生率居高不下也频频发生。为了从根本上解决问题,世界各国都早已开始研究智能交通系统。智能交通系统为解决当前紧迫的交通问题提供了关键的技术,其中车牌识别是其中最关键技术之一,在各级公路和城市交通管理都有广泛运用,具有巨大的经济价值和现实意义。1.2项目背景2009级数字图像处理大作业1.3参考文献(1)姚蕾,车牌识别系统的软件设计与实现,硕士学位论文,上海交通大学,2009/12月(2)王卫,基于颜色特征的车牌快速定位,计算机工程与应用,2006(3)山美娟车牌识别中的图像定位及分割方法网络财富2010/11期(4)毛晓蛟车牌识别系统的研究与实现电脑编程技巧与维护2010/14期二、任务描述2.1目标(1)完成一个完整的软件系统(2)实现基本功能(3)性能上可接受2.2运行环境实现在Windows操作系统下可运行的软件三、功能需求3.1车牌定位3.1.1概述车牌定位是在一个复杂背景的图像找到车牌素的区域,作为车牌识别的第一步,定位的结果直接影响到整个系统的性能。3.1.2功能描述(1)图像预处理图像预处理是对原始图像进行滤波和增强,把处于复杂背景下的图像进行效果增强和滤波处理。(2)车牌区域搜索搜索整幅图像中可能包含车牌的若干区域,剔除非牌照区域。(3)车牌定位车牌定位是从一张复杂背景的图像中找到车牌所在的区域,其关键在于寻找车牌特征,主要分为基于纹理特征和基于颜色特征。车牌纹理特征可以用不同的方法来描述:车牌灰度图像的边缘、图像水平方向上的方差、水平方向上的梯度等。由于纹理特征比较稳定而且易于提取,所以用纹理特征作为车牌的主要特征。3.2车牌字符分割3.2.1概述车牌字符分割作为车牌识别得到结果的重要部分其准确性直接关系到整个系统的效率。3.2.2功能描述在车牌字符分割中,经常利用垂直投影的方法,将车牌中几个独立的数字和字母分割开来,并去除螺丝钉等干扰。3.3车牌字符识别3.3.1概述车牌识别系统能将输入的汽车图像通过处理,输出为几个字节大小的车牌字符串,无论在存储空间占用上还是在于管理数据库相连等方面都有着无可比拟的优越性。3.3.2功能描述在汽车牌照字符识别中,字符包含约50个汉字,25个大写英文字母及10个阿拉伯数字。首字符为汉字,第2-6个字符为英文字母或数字,其余为数字。但现今某些车牌各字符均有可能是英文字母或数字,如:个性车牌等。在现实中为保证识别系统在各种复杂环境下,能发挥其应有的作用,系统必须满足较好的鲁棒性和实时性的要求。四、算法分析与设计4.1.车牌图像预处理实现方法因为本次课程大作业所用的车牌图像清晰度与对比度都较高,噪声与污迹较少,结合后续步骤,无需对图像做过多的预处理工作。只需将车牌图像转为灰度图,再进一步转换为二值化的图像。图3车牌原始图像图(局部)图4灰度化与二值化后的图像4.2.车牌定位实现方法对车牌定位的方法,我尝试过三种。第一种是利用车牌固定的长宽比进行定位,第二种是基于直线检测的方法,第三种是基于彩色图像的车牌定位方法。以下依次说明我使用这几种方法的优劣。(1)利用车牌固定的长宽比定位因为车牌照的长宽比为固定的3.1:1的矩形,以此为标准可以对预处理后的各个联通区域进行判断,并以“metric”单元记录匹配度。匹配度越接近1说明该联通区域越有可能是车牌,最后将“metric”的值设在0.85到1.15之间。又由于车牌的面积不可能太小,面积要大于2000个像素。但是这种方法存在不少缺点,第一是只能识别车牌与车身颜色反差明显且在整幅图像中面积较大的车牌,对于其它的车牌无能为力;第二是需要在前面做许多膨胀与腐蚀处理,如果做得不好没能形成近似矩形就无法对联通区域进行判断;第三是经过这种方法定位后的车牌边框明显,在后续处理中不易去除,对字符分割造成较大影响。总之,利用车牌固定的长宽比定位的方法仅适用于一部分特定的图片,不具有普适性,因此最终我没有采用这种方法。图5车牌边框过多的图像(2)基于直线检测的方法定位这种方法我用opencv编程进行车牌定位没有得到好的效果,所用的几幅车牌图像没有一幅能正确实现车牌分割与提取。我认为造成这种情况的原因是Hough变换只是进行单纯的线检测,没有与车牌形状结合在一起,而且Hough空间与原图像空间不是一一对应的,用Hough空间检测到的点无法确定出车牌轮廓的起始位置,无法避免直线干扰的问题。基于以上原因,基于直线检测的方法也不适用于车牌定位。(3)基于彩色图像的车牌定位方法基于彩色图像的车牌定位方法就是利用常见车牌为蓝色底这一特性,但是这种定位方法存在缺陷。首先就是只能识别蓝色牌照的小汽车,对其它种类的车牌照无能为力,其次是当车牌颜色与车身或背景颜色接近时就会出现很大问题,且耗时较多。因此基于彩色图像的车牌定位方法具有一定的局限性。最后,综合以上几种方法,我对彩色图像的车牌定位方法做了改进,选择基于灰度边缘检测与形态学重构的方法来定位车牌。首先利用边缘检测算子进行边缘提取。可以选择的边缘检测算子种类较多,有Canny、Sobel、Prewitt、Robert等等(至于选择那种算子将在后面进行比较)。然后对边缘提取的图像进行形态学操作,先进行腐蚀操作,然后闭操作,联通车牌区域。接下来利用Matlab自带的bwareaopen函数去除像素小于2000的区域即去除背景区域。最后利用彩色图像车牌定位的方法对去除背景区域的二值图像进行选择定位。基于灰度边缘检测与形态学重构的方法流程图如下。边缘算子提取边缘腐蚀操作闭操作去除背景定位车牌图6车牌定位流程图至于选取何种边缘提取算子,比较如下:Canny算子是寻找图像梯度的局部极大值,它使用两个阈值来分别检测强边缘和弱边缘。它的缺点是在提取车牌边缘时不但提取了车牌的边缘,还同时把车身的细节也提取了出来,因此不利于后续处理。图7Canny算子边缘检测反色图Sobel算子是有方向性的,在水平和垂直方向上形成了最强烈的边缘,它不仅能检测边缘点,而且抑制噪声的影响,对灰度渐变的图像的处理结果较好。图8Sobel算子边缘检测反色图Prewitt算子与Sobel算子相比,比较容易产生一些噪声。图9Prewitt算子边缘检测反色图Robert算子边缘定位准确,但对噪声敏感,适用于边缘明显且噪声较小的图像分割。由于我使用的图像噪声均较小,经过实际测试发现Robert算子的效果最好,故最终选用Robert算子作为边缘提取算子。图10Robert算子边缘检测发色图形态学定位如下:图11腐蚀操作反色图图12闭操作反色图图13去除无关区域反色图图14定位后的车牌4.3.字符分割方法实现考虑到基于投影分析字符的分割方法和基于连通域分析的字符分割方法实现起来比较复杂,于是我就综合前人方法总结出自己的算法。车牌字符分割包括字符分割和单个字符识别两个模块。考虑到获取的图像可能存在一定缺陷,因此在进行字符分割之前要先对定位后的车牌图像进行预处理,以方便后面的工作。车牌上共有7个字符,间距相等,设平均字宽为W,还有一个分隔符“﹒”占1/2字宽。通过之前的预处理,可以将分隔符“﹒”用滤波器去掉。设(,)fij是文字的二维点阵图形,有文字处为1,否则为0。首先在(,)0fij处切割,若两个文字相粘连时,其间隔处便不会出现(,)0fij,此时就要辅之以求平均字宽的方法。若某个字宽kWW,说明kW中含有一个以上的文字,需要继续分割。由于在字符识别中我准备采用模板匹配的方法,因此需要将已分割出来的字符进行归一化处理。因为我所采用的模板的尺寸为4020,因此需要将分割出的字符也归一化为4020的尺寸。图15车牌分割前的预处理图16车牌分割图17分割后图像的归一化4.字符识别实现方法鉴于神经网络匹配法实现起来较为复杂而且我之前也没有接触过,所以我选用更为容易实现的模板匹配法进行字符识别。模板匹配的基本思想是:将从待识别的图像或图像区域(,)fxy中提取的若干特征量与模板(,)Txy相应的特征量逐个进行比较,计算它们之间规格化的互相关量,其中互相关量最大的一个就表示期间相似程度最高,可将图像归于相应的类。也可以计算图像与模板特征量之间的距离,用最小距离法判定所属类。具体进行操作时直接将图像与模板做差相减,得到0最多的图像即为识别结果。300y200xyxyx),(),(fTDii其中(,)iTxy为第iT号模板图像,(,)fxy为字符图像,二者均为二值图像0为背景图像像素,1为字符图像像素。网上有不少别人做好的字符模板,但是使用后我感觉效果并不好,有些甚至不是车牌字符的字体。在刚开始的时候车牌识别率较低,最后我只得自己做模板才基本上解决了问题。图18最终识别结果五、困难基于OPENCV的车牌识别系统可以实现基本的车牌识别功能,但是整个系统还存在一些缺陷。第一,识别率无法达到百分之一百,大约在百分之九十左右,这与字符模板本身的准确度有很大的关系;第二,该系统无法对存在角度的车牌进行旋转校正,因为时间比较紧张,最后未能添加这个功能;第三,可以识别的图像种类有限,车牌必须占整个图像面积比较大才可以识别,如果车牌面积较小甚至无法对车牌进行定位。
本文标题:车牌识别系统需求规格说明书
链接地址:https://www.777doc.com/doc-7383487 .html