基于MATLAB的GUI车牌图像识别系统设计

2016-11-14 02:32王浩杰赵珂黄国勇
价值工程 2016年29期

王浩杰+赵珂+黄国勇

摘要:提出了一套基于Roberts算子和最大方差阈值算法的GUI车牌图像识别系统。针对相机或高清视频流所采集的照片,本文结合图片的预处理,采用梯度检测法进行边缘检测,基于像素点的先行后列的车牌定位方法,并用最大阈值方差法进行二值化处理,根据对二值边缘图像做积分Harr识别,把车牌信息从图像转化为文本输出。实验结果表明,该GUI系统能够正确实现识别车牌图像文本信息。

Abstract: A GUI License Plate Recognition System which is based on the Roberts Operator and Maximum Variance Threshold Algorithm is put forward. This article aims at the photo from camera or HD video stream, combining with the image preprocessing, using gradient method for edge detection, after using the method of the license plate location that based on the first row and then column of pixels, with a maximum threshold variance binary, processing method according to the binary edge image Harr integral image recognition, based on the achieving the transformation from picture to text. The results of experiment shows that the GUI System can achieve the accurate text license plate.

关键词:Roberts算子;最大方差阈值算法;GUI系统

Key words: Roberts operator;Maximum Variance Threshold Algorithm;GUI system

中图分类号:TP391.4 文献标识码:A 文章编号:1006-4311(2016)29-0199-03

0 引言

随着人们对生活质量要求的提高,私家车数量急剧增加,也促使了智能交通的快速发展。车牌识别技术作为智能交通系统的关键技术之一,广泛应用于停车场管理系统、高速公路及交叉口车辆管理系统、电子通行费系统、公安局车辆牌照管理系统、车辆管理系统等。因此,车牌识别技术的深入研究不仅具有理论价值而且具有很高的实用经济价值。本文开发了一种基于MATLAB GUI的车牌图像识别系统,可实现车牌识别输出处理。

车牌识别技术包括五个步骤:图像采集、图像处理、车牌定位、字符分割、车牌识别。

1 车牌识别原理

1.1 图像采集

本系统的车牌识别图片来源于在规定路段上安置的MV彩色CCD相机拍摄的含有车牌的图片,或者拍摄高清视频流转换的静态车牌图片。在图像采集环节获得高清图片可以有效提高车牌识别系统的准确率。

1.2 原始图像的预处理

车辆图像的预处理,指对采集到的车辆图像,进行灰度化和拉伸处理,有效的改善拍照区域的图像质量。由于牌照区域存在噪点,且要保存和加强车牌中纹理和颜色信息,因此,必须进行原始图像的预处理。

1.2.1 灰度化处理

R、G、B是彩色图像的三个组成部分,分别为红色、绿色、蓝色。灰度处理是将彩色图像转换成灰度图像的过程,即处理彩色R、G、B分量相等的过程。灰度值大的像素点比较亮(最大为255,白色),灰度值小的比较暗(最小为0,黑色)。

因为人眼最敏感绿色、其次红色,最后是蓝色,所以本文采用加权平均法对图像进行灰度化。

H=ωRR+ωGG+ωBB (1)

其中,ωR、ωG、ωB分别为R、G、B的权值,H为图像的灰度值。且 ωG>ωR>ωB将得到较易识别的图像。一般来说,ωG=0.587、ωR=0.299、ωB=0.114时,得到的灰度图像最好。原图及灰度化结果如图1所示。

1.2.2 灰度拉伸

从图1可见,经过灰度处理后的图像车牌部分和其他图像部分的对比度不是很高,如果此时进行边缘提取,车牌的边界比较模糊,很难提取车牌边缘,无法准确定位车牌区域。因此,要准确提取车牌边缘和定位车牌位置,需要进一步为了提高车牌图像的对比度,需要对该图像在灰度上进行拉伸。

1.3 提取车牌边缘

图像边缘检测可以去除不相关的信息,大大降低了数据量。边缘检测算子有:Canny算子、Laplacian算子2×2、Sobel算子、Prewitt算子、Roberts算子等。Roberts采用的是算子,相对其他算子,它对图像边缘的定位比较准确,同时对图像分割的边界宽度较小。在图像噪声较少的情况下,分割的速度比较快。故本文采用该算子。

车牌边缘具有较为复杂的形态,同时车牌的边缘总是以图像中强度的突变形式出现的,所以其边缘包含有大量信息 。因此,本文采用检测识别率较高的梯度检测法来进行车牌边缘检测。

g(x,y)即Roberts边缘检测算子。

可见,用于边缘检测的Roberts算子利用的是部分差分方法去寻找边缘。而Roberts梯度算子寻找边缘则是利用定位区域的对角方向相邻两像素之差,把一阶偏导利用差分来代替,表示如公式(5):

Δxf(x,y)=f(x,y)-f(x-1,y-1)Δyf(x,y)=f(x-1,y)-f(x,y-1) (5)

Robert两种算子模板对应的2×2模板如图2所示。在实际应用中,图像的每个像素点都用这两个模板进行卷积运算。为了避免负值,边缘检测的绝对值往往被提取。

由图3可知,利用roberts算子进行边缘检测,可大大减少不相关的数据量,且将数字图像中亮度变化明显的点(即车牌部分)标识出来。上图将车牌及其字符的轮廓明显的标识出来,有助于对车牌的定位。

1.4 车牌定位

车牌定位有两个步骤:车牌初步定位和精准定位。本文在车牌初步定位中先采用imerode函数对图像进行腐蚀,再利用imclose和bwareaopen函数对图像进行平滑处理。用彩色像素点统计方法提取车牌行合理位置,再分割出合理区域,以此来确定车牌的底色蓝色RGB对应的灰度范围,最后在行方向上,统计在此范围内的像素点数量,用于设定一个正确阈值,并最终定位车牌在行方向的区域。

车牌的精准定位是在初步定位出车牌的行方向合理区域的基础上,统计列方向车牌底色蓝色的像素点数量,再精准地定位剪切出车牌大小的图像,如图4所示。

1.5 车牌字符分割与识别

在车辆牌照准确定位后需对车牌进行二值化操作,形态学滤波,方可进行字符的分割。

1.5.1 二值化操作

在分割过程中,每一个像素值的车牌图像采用相同的阈值,即全局阈值算法。

在全局阈值算法中,Otsu在判别与最小二乘原理的基础上推导出来的最大方差阈值算法,速度快,且准确率,故本文采用此方法。其原理是:设车牌图像前景与后景分割阈值为X,前景点数占图像比例记为k1,平均灰度u1;后景点数比例k2,平均灰度u2;图像总平均灰度u=u1×k1+u2×k2。取X从最小灰度值到最大灰度值,当X使得γ=k1×(u1-u)2+k2×(u2-u)2为最大时即为最佳阈值。由于灰度值的分布情况,由方差值的大小来表现,因而当方差γ越大,说明前景和背景的差别γ越大。当前景被绘制到背景区域或背景被分为前景区域时,方差变小,所以当X使方差γ最大时,它是最好的阈值。

识别结果如图5所示。

1.5.2 形态学滤波

形态学滤波是利用滤波器原理,即利用一定形态的结构元素去提取对应形状的图像,最终达到识别图像的目的。识别运算有:膨胀、腐蚀、开运算和闭运算四个步骤。

腐蚀是用某种形状的结构元素对图像进行探测。膨胀是将所有与物体邻近的背景像素变为物体像素的变换。开运算是先腐蚀再膨胀,闭运算是先膨胀再腐蚀。

本文在车牌图像进行形态学滤波过程中,分别进行了车牌的开,闭运算,边框去除以及圆点去除处理,过程图如图6所示。

图7为开运算以及闭运算的效果图。

由图7可知,形态学滤波有效的去除了图像的噪声,使得车牌信息更加清楚。

1.5.3 字符分割

在本文中使用列统计的原则,分离车牌的七个字符。字符分割的过程及分割结果如图8所示。

1.5.4 字符识别

字符识别作为车牌识别的最后环节,直接关系到字符识别的稳定性和准确率。利用harr积分识别车牌图像,完成车牌图像信息向车牌文字字符数据的输出。识别流程和结果图如图9所示。

2 MATLAB GUI车牌识别系统

本文基于MTALAB的图形用户界面(Graphical User Interface,即GUI)开发了一个简单方便的可视化车牌识别系统。如上图所示,通过操作“原图”、“灰度图”、“robert边缘处理”、“行方向合理区域”、“定位后的车牌图像”、“车牌图像二值化”、“处理后的车牌图像”、“分割出的字符”的几个按钮操作即可完成相应结果输出。

3 MATLAB结果分析

为测试本文提出的车牌分割与识别方法的鲁棒性、准确率及时效性,通过对随机抽取的实际场景中的图像进行测试,测试结果如表1所示。(测试平台为酷睿i7四核,WIN7操作系统)

由测试结果可知,本文提出的车牌定位、分割和识别算法在不同场景里的准确率均达到了97%以上,且平均耗时为9.996ms,表明算法的准确度高、稳定性好,同时也证明了算极强的鲁棒性及适应性。图10为测试结果截图。

4 结束语

本文提出了一种车牌定位、分割和识别的算法,并将识别算法的结果用基于MATLAB的GUI车牌识别系统的界面输出。该系统操作简单,对车牌识别的速度快、准确率高,且鲁棒性好。系统测试结果表明,该方法可以满足当下智能交通的实时性要求,在实际运用中具有一定的使用价值。

参考文献:

[1]李甫,张佳成.复杂场景下车牌识别新方法[J].湘潭大学自然科学学报,2016,38(1):90-92.

[2]王璐.基于MATLAB的车牌识别系统研究[D].上海:上海交通大学,2009:35-41.

[3]尹晓蕾.基于MATLAB车牌识别技术的研究[D].山东:山东科技大学,2014.

[4]方恒耀.基于GUI技术的汽车仪表开发平台的研究[D].武汉理工大学,2007.

[5]常用边缘算子比较.http://wenku.baidu.com/link?url=_8fAcw

66RfwQGzLd3DEiW7s79tkVRM-7ZSkoW2RVVmfoUf1wGfnGzFj5e

Vy8yth_wwQZZzEAIP-1nOlp8kX0vaouVVZeUxCH02uPeLiFFna.