基于MATLAB GUI的车牌自动识别系统设计

2016-05-16 06:45姚楠耿奇
软件 2016年3期
关键词:车牌识别图像处理

姚楠+耿奇

摘要:本文基于MATLAB实现了对车辆牌照进行提取、预处理、字符分割、字符识别、语音播报。在MATLABGUI设计的系统平台上,用户可以方便快捷地直接在系统中处理和分析结果。对四十张不同距离、不同角度、不同光照条件下的车牌照片进行实验,识别准确率高达90%。

关键词:图像处理;车牌识别;MATLAB GUI

中图分类号:TP391 文献标识码:A DOI:10.3969/j.issn.1003-6970.2016.03.011

0引言

在现实交通管理中车牌自动识别技术充当着重要角色,被广泛应用于小区门口及停车场、高速公路收费站、港口和机场、城市道路、城市交叉口等各个领域,对保障城市道路的畅通有序起着至关重要的作用。本文基于MATLAB GUI搭建的车牌自动识别系统,实现了对拍摄的汽车照片的车牌字符识别与结果播报及统计,提供了一个友好的可视化操作演示平台,方便算法开发者的使用。

1系统总体设计

车牌自动识别系统的整体处理流程如图1所示。

(1)汽车图像采集:通过带有拍照功能的电子产品对汽车图像进行采集。

(2)预处理:图像质量对车牌识别率的高低起着决定作用。所以,需要对采集到的原始图像信息进行消除噪声、图像灰度化和增强、边缘增强、二值化等处理。

(3)车牌定位:车牌定位的准确率对后面进行的分割字符和识别字符步骤有着深远影响,是决定车牌识别率高低的关键因素。

(4)字符分割:经过一系列处理定位后,基于投影检测法将车牌字符分割成单个字符,并对已分割出的字符作出检测,最后统一字符的大小。

(5)字符识别:处理分割的字符,包括:缩放、特征提取等,得到规定字符的表达形式,然后通过与字符模板中的标准字符进行匹配,最终可以得到输入的字符图像。

(6)结果输出:输出车牌识别结果,并实现语音播报。

2 MATLAB GUI设计

GUI是图形用于界面(Graphical User Inter-faces)的缩写,是一种包含图形对象(如窗口、按钮、文本和菜单)的用户界面。用户以某种方式激活这些图形对象,可以引起各种程序代码的执行。MATLAB GUI是MATLAB中的一项功能,将流程化的MATLAB程序装载在一个带有用户界面的程序中去,从而大大方便用户的使用过程,也提高了程序使用的直观程度。实现图文并茂的界面的同时,开发者不必耗费太多精力在设计界面代码,为使用MATLAB的程序设计者提供了一个简便的开发环境,快速上手,提高了开发者的工作效率。

本系统设计的平台如图2所示,主界面上设置“原始图像”“车牌定位”“灰度图像”“倾斜校正”“字符分割”“识别结果”“语音播报”“结果统计”“返回”9个功能按钮,每点击一个按钮即可实现一个对应的子功能。

3系统实现

本文用数码相机对来自不同光照条件下、不同距离、不同角度、不同车身颜色的四十张汽车照片进行采集。以“甘AMF617”为例演示本系统的实现过程。

(1)单击“原始图像”按钮,选择要处理的图片,得到原始图像结果,如图3所示。

(2)单击“车牌定位”,在读入图像中将车牌部分单独提取出来。本设计采用的是基于颜色特征的定位方法,这种方法可以不经过图像预处理,运用车牌的颜色特像快速准确的定位。结果如图4所示。

(3)单击“灰度图像”将彩色图转换为灰度图像,并进行图像去噪等预处理,便于下一步的字符提取。

(4)单击“倾斜校正”。汽车牌照往往由于拍摄角度的不同而发生一定角度的倾斜,所以,必须修正倾斜的车牌图像,在行方向上运用radon方法计算倾斜角度并进行校正处理,灰度图像的倾斜校正结果如图5所示。

(5)单击“字符分割”。本设计采用的分割方法是先对图片进行二值化处理,再以图像的中心线为起点,设定某一阈值向上向下进行扫描,准确区分牌照符号所处对的位置,结果如图6所示。

(6)单击“识别结果”。本设计采用的字符识别算法是模板匹配算法,首先建立字符模板库,然后使经过二值化操作后的待识别字符的大小与模板库中字符的大小相一致,再进行匹配。通过统计输入信号与样本之间相同的概率,选择相似程度最多的成为识别结果。结果如图7所示。

(7)单击“语音播报”。语音播报功能设计方法为:第一步用录音软件对所有的字符进行录音,然后对录好的数字字符、英文字母字符、各省份简称的汉字字符录音分别以自己名称保存,生成wav格式的音频录音。此外还有“系统运行中”、“识别结果”、“定位出错”、“提取出错”等的录音。将各个音频写入到程序中,根据车牌识别的结果,对结果进行正确播报,若出现定位或提取的错误,则进行相应的错误提示。

(8)单击“结果统计”。将采集的四十张车牌照片逐一在系统中进行检测,得到检测结果,根据检测结果划分为“检测完全正确”“识别报错”“定位报错”“提取报错”四类,绘制条形统计图,并在界面上显示,如图8所示。

4结论

经过统计,40张照片共有4张车牌不能准确地识别出车牌号码,识别成功率为90%。其中一张车牌定位失败,是由于车身与车牌颜色相同造成的;第二张则是将“E”错误的匹配成“F”,最终导致识别出错并且相应的语音播报也出现错误;另外两张则都是提取出错,一张是由于拍摄角度多大,而另一张则是外界环境因素(光线太强)造成的。

在设计过程中,车牌定位的算法设计仍存在一些问题,比如光照太强或是拍摄角度过大都可以导致定位失败,因此在功能实现的算法选择上还有待提高。对车牌的定位算法进行深层次的探索成为以后研究的重点,以增加算法的成功率,研发出一个更加智能化、识别率更高的车牌自动识别软件。

猜你喜欢
车牌识别图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于图像处理的定位器坡度计算
Photo Shop通道在图像处理中的应用