张萍 邢蕾
【摘 要】针对车辆牌照的自动识别问题,提出一种基于形态学的车牌识别系统设计。通过对采集到的原始彩色图像进行灰度化、滤波等预处理,并利用数学形态学方法对图像进行闭合、腐蚀等运算,进而实现了车牌定位,再使用投影法完成对车牌的字符分割,最后采用模板匹配法对字符进行识别。MATLAB仿真结果显示,设计具有较高的识别效果,识别速度较快。
【关键词】数学形态学;车牌识别;字符分割;模板匹配
中图分类号: TP391.41文献标识码: A文章编号: 2095-2457(2019)29-0008-002
DOI:10.19694/j.cnki.issn2095-2457.2019.29.003
Design and Simulation of License Plate Recognition System Based on Mathematical Morphology
ZHANG Ping XING Lei
(Electric power Department Yinchuan Energy Institute,Yinchuan Ningxia 750105,China)
【Abstract】Aiming at the problem of automatic recognition of vehicle license plate, a design of vehicle license plate recognition system based on morphology is proposed.By preprocessing the collected original color image by graying, filtering, etc., and using the mathematical morphology method to close and corrode the image, the license plate location is realized, and then the projection method is used to complete the pair. The character segmentation of the license plate is finally recognized by the template matching method.The simulation results of MATLAB show that the design has a higher recognition effect and the recognition speed is faster.
【Key words】Mathematical Morphology; License Plate Recognition;Character Segmentation;Template Matching
0 引言
近年來,交通运输事业快速发展,人车路持续高速增长,截至今年6月底,全国机动车保有量已达3.4亿辆,其中汽车2.5亿辆[1]。高速增长之下,也对交通管理和控制方面提出了更高要求。为了能更好地提升交通运输效率、确保交通安全和提高能源的利用率,就必须要加快道路交通现代化和智能化建设的全方面发展[2]。
本设计通过对图像处理技术、数学形态学方法的研究,提出了一种基于数学形态学的车牌识别方法,并利用MATLAB软件强大的功能,对采集到的车牌图像经过图像预处理、车牌定位、字符分割和识别等过程,实现了车牌识别,且实验结果显示,识别效果较好、识别迅速。
1 系统总体方案设计
车牌识别系统包括车牌图像预处理、车牌定位、字符分割和字符识别四部分[3-4]。整体识别流程如图1所示,系统首先对采集到的车辆正面图像进行灰度化、滤波、边缘检测等预处理,再利用数学形态学中的运算方法对车牌图像进行定位,然后对车牌图像中的字符进行分割,最后利用模板匹配法完成车牌识别并输出结果[5]。
图1 车牌识别整体流程
2 系统设计的语言环境介绍
车牌识别系统的软件采用MATLAB软件,它将数值分析、矩阵计算、科学数据可视化等诸多强大功能集成在一个易于使用的视窗环境中,很大程度上摆脱了传统非交互式程序设计语言的编辑模式[6]。在处理图像方面,MATLAB具有运算符丰富、编程灵活、程序设计自由度大、可移植性好等特点,还具有源程序的开放性的优势。
3 车牌识别系统的实现
3.1 车牌预处理
实际应用中,由于受行驶速度、光线强度气等因素影响,系统采集到的照片质量不是很高,会存在光照不均、歪斜、模糊等问题。为提高车牌的识别效率,需对原始图像进行预处理,通常需要经过图像灰度化、图像滤波、边缘检测等处理过程。
3.1.1 图像的灰度化
为了减少程序运行时间、提升系统处理速度,需要将彩色图像转换成灰度图像。经过灰度化后的图像中无任何色彩,只含图像原有的亮度信息。本设计采用加权平均法,计算公式为:Y=0.3×R+0.59×G+0.11×B。式中R、G、B分别是彩色图像的3个基本分量信息,Y是灰度图像的灰度值。
3.1.2 图像滤波
图像拍摄时,受外界因素影响,会存在有噪声的影响。图像滤波的主要目的是减少图像中噪声对车牌后续处理中的干扰。中值滤波不仅可以有效地降低噪音对图像的影响,还可以较好地保留图像的原有信息,具有较强的降噪声能力[7]。本设计选择采用中值滤波法进行图像的滤波去噪。滤波以后的图像如图2所示。
3.1.3 边缘检测
车牌识别过程中,边缘检测是一个很重要的操作,它可以得到清晰的车牌轮廓,为进一步进行车牌的定位与分割做好准备。实际应用中,图像的边缘检测过程一般都是通过选取模板来与图像进行卷积计算完成的,选取的模板算子不同,检测结果也不同[8]。本设计采用Roberts算子,利用edge()函数完成边缘检测。边缘检测后图像如图3所示。
图2 滤波后图像
图3 边缘检测后图像
3.2 车牌定位
车牌定位是从处理后的车牌图像中确定出车牌所在的位置并将其提取出来。车牌定位的准确性直接决定车牌识别的精度。数学形态学可以简化图像数据,在除去不相干的结构噪声干扰的同时,还可保持图像基本的形态特征[9]。它包含膨胀、腐蚀、开启和闭合四种基本运算。本设计利用腐蚀、闭合两个运算的组合得到图像中的连通域,再使用bwareaopen()函數对连通区域进行筛选、移除不符合车牌特征的小对象,定位出车牌区域,如图4、图5所示。
图4 数学形态学处理后图像
图5 筛选后定位出车牌图像区域
3.3 字符分割
字符分割是从定位后含有字符的车牌图像区域中分割出单独的字符。考虑到我国车牌具有字符间隔较大的特点,不会出现字符与字符的粘连现象,本设计采用垂直投影法完成字符分割。即利用字符间存在间隙,说明车牌图像在字符间隙处垂直方向的投影存在波谷,只要准确地找到这些字符间的波谷位置即能切分出每个字符[10]。这种算法不仅程序设计简单、运行速度快,还满足实时性的需求。
3.4 字符识别
考虑到获取的字符图像较为清晰,本设计采用模板匹配法来完成字符识别,即将目标字符与模板字符逐一比对并做像素减法,得到新的图像,再统计结果图像中‘1的个数,个数最少的即为最佳匹配[11]。为提高程序运行效率,比对前根据字符所在车牌内的位置缩小比对范围,将汉字、字母、数字分别进行存放和比对,识别效率较高。
4 结论
随着智能交通时代的到来,车牌识别受到更多关注,识别算法也发展很快。本设计采用灰度化、中值滤波、Roberts算子边缘检测法进行图像预处理,基于数学形态学对车牌进行定位,借助垂直投影法完成字符分割,使用模板匹配法依次对车牌字符(下转第20页)(上接第9页)比对并识别,MATLAB仿真结果表明,设计能够有效地实现车牌识别。在仿真的过程中,不同的车牌由于情况不同可能还需要对某些步骤进行一定的修改才能识别,比如对于车牌本身悬挂倾斜或者车牌有污损、遮挡等情况,需要进行处理后再识别,这些需要优化和改进的地方,之后的时间里我还会继续进行优化和完善。
【参考文献】
[1]孙亚慧.智能交通“2.0”给道路装上“大脑”[N].人民日报海外版,2019-8-19.
[2]陈建华.基于MATLAB的车牌识别仿真系统研究[J].计算机产品与流通,2017(8):143-145.
[3]张小敏,常郝.车牌定位算法研究进展[J].哈尔滨师范大学自然科学学报,2017,1(33):44-46.
[4]崔诗晨,迟宗涛.基于MATLAB的车牌识别的设计[J].工业控制计算机,2017,30(8):68-69.
[5]高直,吴宝福,王媛媛.基于数学形态学的车牌自动识别系统[J].计算机时代,2018(7):56-59.
[6]赵小川,何灏,缪远诚.MATLAB数字图像处理实战[M]. 北京:机械工业出版社,2013.6:6-8.
[7]索静.基于图像处理的车牌识别系统的分析与设计[J].工业控制计算机,2016,29(12):32-34.
[8]陈佳.基于形态学的车牌定位方法的研究与应用[D].衡阳:南华大学,2015,5:24-28.
[9]刘怀芝,陆小虎,徐喜东,陈本焱.国外电子测量技术[J].2018,37(1):20-23。
[10]赵娟.车牌识别系统中字符分割的研究[D].杭州:浙江工业大学,2015,3:47-52.
[11]尹肖波.基于MATLAB实现的车牌识别系统[D].杭州:浙江工业大学,2017,4:28-31.