论文网
首页 理科毕业设计毕业正文

基于MATLAB的车牌号码识别系统设计

  • 投稿国士
  • 更新时间2015-09-16
  • 阅读量1131次
  • 评分4
  • 72
  • 0

许立晨 XU Li-chen;叶超 YE Chao;刘琪 LIU Qi

(南京理工大学泰州科技学院,泰州 225300)

(Taizhou Institute of Sci. & Tech.,NUST,Taizhou 225300,China)

摘要:本设计主要是研究利用CCD摄像机拍摄的实时视频流作数据源,在视频数据下进行实时快速的车牌定位和牌照识别。基于MATLAB设计一个检测窗口,将视频流中的每一帧进行扫描得到关键帧。然后将关键帧输入到静态车牌的识别系统中,通过实现图像的预处理、车牌的定位、字符的分割、字符的识别各个过程,来完成整个车牌号码的系统识别。

Abstract: This article mainly studies the real-time fast license plate localization and license plate recognition with real-time video by CCD camera. A detection window is designed based on MATLAB to scan each frame of the video to get the key frame. Then the key frame is input into the static license plate recognition system. Through image preprocessing, license plate locating, character segmentation and character recognition, the whole license plate recognition is completed.

教育期刊网 http://www.jyqkw.com
关键词 :视频流;车牌识别;字符识别;MATLAB

Key words: video stream;license plate recognition;character recognition;MATLAB

中图分类号:TP391.43 文献标识码:A 文章编号:1006-4311(2015)18-0181-03

基金项目:泰州市科技支撑社会发展项目(SSF20130410);

江苏省高等学校大学生创新创业训练计划项目 (201413842003Y)。

作者简介:许立晨(1993-),男,江苏无锡人,南京理工大学泰州科技学院 2011级电子科学与技术专业学生。

1 概述

随着当下经济的快速发展,现阶段人们生活水平有了较大的改善,国内汽车的数目也随之上涨。然而传统的交通管理方式已经无法有效地管理现代交通。

本文是基于CCD和视频流处理的车牌号码识别系统开发,拟用CCD拍摄一段视频流,设计一个检测窗口将视频流中的每一帧进行扫描,得到关键帧。继而对关键帧进行识别,然后将图像输入到静态车牌的识别系统中,进行识别,最后得到车牌字符进行播报的识别系统。该系统将重点放在视频流中车牌识别系统中各步骤的优化上。并且通过GUI界面制作出一个可视化的界面,便于使用者操作使用。

2 系统方案设计

此系统主要是基于CCD所拍摄的视频流处理,有一定的处理难度。本设计主要利用MATLAB软件来运行,在此基础上对视频流中的车牌进行实时的定位,获得关键帧,再使用静态图像处理的方法对所获得的图像进行识别。下文将分别对该设计方案和参数的软件开发系统的可行性进行论证。

基于CCD和视频流处理的车辆牌照识别系统是主要的定位和车牌识别中的视频流是依靠在通过检测窗口的建立,将采集到的车牌通过图像处理等方式转换为计算机所能识别的车牌号码信息加以存储。主要设计流程如图1所示。

系统功能模块分析:

MATLAB车牌识别系统主要由视频的采集、视频的检测、关键帧的实时提取、图像进行预处理、车牌的定位、字符的分割、字符模板匹配识别七个关键环节,基本模块如下:

①视频采集:使用CCD来拍摄一段视频流。

②视频检测:在这个步骤中,本文有一个创新,就是在所需要处理的视屏中设置一个检测窗口,通过此窗口对视频内的车牌进行实时定位。

③关键帧获取:将上述环节定位出来的车牌通过检测窗口进行切割,获得了有用的带有车牌信息的图像,即关键帧。使得接下来程序的处理量能够大大减少,提高了运行速度。

④图像预处理:其主要是优化视频关键帧的图像质量,并拥有剔除图像内噪声,增强图像边缘,增加图像的亮度等一系列效果。车牌定位之前必须要进行图像预处理,能够大大的提高车牌识别的准确率。

⑤车牌定位:其主要是依据在上述步骤得到处理过的图像, 进而对图像进行一定的分析,再使用车牌存在的特征来进行识别,此方法能够比较精准的定位到车牌,并能够得到处理好的图像的存在情况和坐标等一些信息,能够为后续的字符分割和字符识别做准备。

⑥字符分割:在上述环节获得定位后的图像,进行二值化,通过此方法图像能够较快的找出连续有文字的块,设定一个阈值,然后对处理好的二值化图像切割出长度大于预先设定的阈值区域,进行分割。

⑦字符识别:本文所采用的是压缩模板匹配技术,需要先将已经分割好并且已经二值化后的字符尽量的缩小到预先准备好的模板库内字符的大小,然后再与全部的模板进行快速匹配,系统会自动分析字符与模板之间的相减值,最小的即为识别的结果,进行输出并记录。

⑧语音播报:将识别出来的字符通过语音进行播报。

3 图像采集及优化技术

由于本系统是通过基于CCD拍摄的视频流处理的得到车牌图像信息的,所以需要对视频流进行处理,设立检测窗口对关键帧进行识别,进而获取关键帧。

此次设计主要采用的是蓝底白字的车牌作为研究对象。并且视频选用的是*.AVI的格式。

此系统是通过拍摄的视频图像的变化来进行车辆检测[4]。在视频内通过固定窗口(即检测窗口)对车牌进行识别及切割,得到有效的车牌信息。

在本系统中利用定时器中的SetTime函数,将时间设置为每隔100ms能够从所拍摄的视频中获取实时的每帧图像,在下文中将之成为关键帧。

此定时器的间隔时间设为t=100ms就是当车辆经过检测窗口的时候,每隔100ms就会获取一帧图像。

4 静态车牌号码识别系统设计

通过以上所述的视频流处理,在检测窗口得到关键帧,以下介绍的是对静态车牌的识别设计。下面笔者将分别对此静态识别系统进行详细的介绍。

4.1 图像预处理

由于本系统所需要处理的图像是通过处理视频流获得的关键帧,图片较小,使得计算机处理起来较快。为了使得接下来的定位和分割进行的顺利,车牌必须进行图像预处理。

本文经过综合考虑后,决定采用灰度化的方法是加权平均值法。主要是原因是该指标会因为重要性的不同来给R、G、B取不一样的权值,使R、G、B等于它们值的加权平均值。本文所使用的图像灰度化的算法,是给像素的R、G、B分量各自增添一个加权系数,然后对其求和,会常用的灰度化公式如公式(1):

I=0.229*R+0.587*G+0.114*B (1)

式中I为灰度值。

考虑到实时情况,本系统图像增强时先腐蚀后膨胀,用来消除小的干扰域、在纤细点处分离物体与平滑较大物体的边缘同时并不改变其面积。

通过多方面考虑,最后本设计决定采用Roberts算子实现边缘检测的,此算子算法可以满足系统所需要的要求。

平滑处理的主要目的是为了能够消除存在于字符图像中对有效信息的噪声干扰。主要是是不能够损害原有图像的边缘轮廓信息,其次是经过平滑处理后的图像必须比未处理前的更加清晰。

4.2 车牌定位

车牌的定位技术是车牌识别系统中主要的核心技术,较好的定位算法可以为字符分割和字符识别提供较准确的数据来源。

本系统所设计的方案是从实际出发,因此在Roberts 算子边缘检测方法的基础上,去结合数学形态学的膨胀、腐蚀等一些特性,进而对车牌进行定位,以此来保障车牌定位的准确率。

车牌分割出来后,其图像背景中仍存在噪声,还有可采用均值滤波的方法,以及车牌腐蚀方法等使图像增强。

4.3 字符分割和归一化

车牌字符分割和归一化在车牌识别系统中是影响识别成功的主要因素,接下来就详细介绍字符分割与归一化的算法。

由于本文所采用的蓝底白字车牌,所以采用彩色分割的方法。明确车牌底色蓝色RGB对应的各自灰度范围,然后设定合理的阈值,分别从行方向与列方向统计在此颜色范围内的像素点数量,确定车牌在水平方向的合理区域,最终确定出完整的车牌区域。

通过上述的方法得到的图像还是存在一定的差异的,所以需要对图像进行统一尺寸(即将字符大小统一设置为40×20),进而使准确性更高。

4.4 字符识别

本系统一开始所采用的是传统的模板匹配技术,此方法是通过原先储存好的字符模板来覆盖在整个图像上,以此计算字符与标准模板间的相似程度,此方法虽然比较简单,容易操作,但是最主要的问题就是计算量大。此系统所使用的算法只能是针对在样本集较小的情况,本文因此对传统的模板匹配算法进行深入的研究和改进,在此基础上提出一种把模板压缩后进行的快速模板匹配算法。

车牌格式有一定的规律,根据车牌特性,本系统对汉字、字母和数字提前做出分类处理,因此需要制作出不一样的压缩模板集合。数字和字母必须作出一定数量的压缩模板,但对于汉字可以根据实际要求来增加或减少。这样的话就能够将整个模板的数量降到最低,以此来提高识别效率。最后得到识别的车牌。

本系统增加了语音播报功能,通过字符识别出来的车牌号码,能够通过语音通报功能更加清晰与快速的将车牌读出来。

5 识别结果分析

此次设计中首先提出检测窗口的概念,通过蓝底背景对车牌进行定位,用红色的框将车牌框出来,以矩形窗口为基础,对有效的车牌图像进行切割,切割出来的图像进行处理后就是系统所需要的关键帧,这就是检测窗口运行的原理。由于运用了检测窗口技术这个方法,对于关键帧的获取也有一个合理的时间间隔,因此能够大大提高图像采集的速度,优化实时性能,并能降低此次设计所需要处理的图像数据数量,为后期的处理提高了速度。

以下是笔者所统计的模式识别结果如表1、2所示。

由于本系统所使用的是压缩模板匹配算法,所以对车牌中的汉字,字母和数字的识别率较高,都有70%以上。而对于未使用压缩模板匹配的时候,汉字的误码率达到50 %,而字母和数字的误码率竟达到63.9%。汉字比较难识别的主要原因是像素的概率压缩方式,一直对于复杂的汉字字符结构特征很难得到提取;另一个方面是因为汉字比较复杂,所用的摄像头很难将复杂的汉字拍的很清晰,并且通过处理后的图像中汉字信息也不是较完善。虽然此次设计识别率比较高,其不足是模板库内的压缩的汉字模板比较少,因此也会大大提高识别速度和准确率。所以才模板识别这方面还要好好改善。

6 结束语

在此前的设计中,车牌识别仅仅只能通过拍摄好的车牌,即静态的车牌来识别,具有一定的局限性。而本文介绍了视频采集,视频检测和关键帧获取的方法,通过以上的三个步骤基本可以将视频流内的车牌进行定位,并在检测窗口内获取有关车牌的关键帧。检测窗口对于本设计而言是一个创新,并且此设计对于车牌检测有一定的实时性,可以通过视频内运动的车辆来进行识别,对先前的静态识别有质的飞跃。

教育期刊网 http://www.jyqkw.com
参考文献:

[1]张国伍.智能交通系统工程导论[M].北京:电子工业出版社,2003.

[2]陆化普.城市交通系统的智能化:关键技术与发展展望[J].综合运输,2012(3):11-16.

[3]李盛宁.车牌识别系统中车牌定位算法的研究[D].苏州:苏州大学,2011.