基于图像处理的车牌识别研究
2015-07-29李玲贾磊磊张旭
李玲 贾磊磊 张旭
摘 要:该文对基于图像处理的车牌识别算法进行了研究。首先,采用灰度化和阈值法进行图像预处理,消除一部分背景信息;其次,采用Canny边缘检测算法提取车牌边缘,采用开运算和闭运算等形态学操作来改善边缘提取的效果,使车牌区域尽量互相连通,进一步消除干扰,准确定位车牌;第三,采用垂直投影法对车牌进行字符分割;最后,采用模板匹配的算法对车牌字符进行识别。Matlab仿真分析表明,该文设计的车牌识别算法可有效地实现车牌识别。
关键词:图像处理 车牌定位 字符分割 字符识别
中图分类号:TN91 文献标识码:A 文章编号:1674-098X(2015)06(a)-0020-02
Abstract:Algorithms of License plate recognition are researched in this paper.Firstly,Canny operator and morphological operation are employed on image after graying and threshold to locate the license plate.Secondly,vertical projection is used for character segmentation.Thirdly,the template matching algorithm is carried out for character recognition.Simulation results in Matlab show that the algorithm here can identify the license plate effectively.
Key Words:Image Processing License Plate Location Character Segmentation Character Recognition;
车牌识别不仅可用于公路布控、高速公路上的事故自动测报、小区车辆管理等,还是智能交通的核心环节。国内外学者对基于图像的车牌识别进行了很多研究,但目前还没有一种车牌识别算法可以获得非常理想的识别效果。车牌识别的流程一般是车辆图像的预处理、车牌定位、字符分割和字符识别。该文针对静态图像的车牌识别,研究了基于边缘检测和形态学滤波的车牌定位,基于投影算法的车牌字符分割和基于模板匹配算法进行车牌字符识别,并进行了仿真分析。
1 车牌图像预处理
车牌颜色种类较多,不同颜色的车牌灰度化后可以统一处理。阈值分割可以将目标区域和背景分割开来,方便后续定位和识别。该文首先采用加权平均值法对图像进行灰度化,然后采用otsu算法进行阈值分割,得到的灰度图和二值图如图1和图2所示。
可见,灰度化后的图像没有丢失主要信息;二值图消除了大部分背景信息,较准确的分割出了车牌区域,有利于后续的车牌定位和提取。
2 车牌定位与提取
2.1 车牌定位
该文采用边缘检测和形态学操作进行车牌定位。边缘检测能显示图像的大体轮廓,但检测后的车牌边缘是不连续的。形态学处理中闭运算可以使图像的轮廓线更为光滑,消除狭窄的间隙和细长的鸿沟,消除小的孔洞,弥补轮廓线中的断裂,开运算能消除细小部分[1]。
对灰度化和二值化后的图像进行Canny边缘检测,如图3所示。可见,目标边缘被比较完整的检测出来了,但边缘连续、不完整的情况依然严重,很多背景边缘信息也被保留了。为改善效果,对边缘检测后的图像进行形态学操作。进行一次闭运算和两次开运算,结果如图4所示。形态学操作较准确的定位了车牌区域,并消除了部分干扰和小连通域。
2.2 车牌提取
车牌具有一定的长度和宽度,因此车牌定位后的图像上,非零像素点集中在某些行和列上,可以根据这一特点进行车牌提取。对形态滤波后图像进行行、列方向上的像素点扫描,统计得到像素值和,据此确定车牌的起始位置和终止位置[2]。图5和图6为车牌在行、列方向上的像素值和,车牌行方向像素集中在900~1200区域,车牌列方向像素集中在1600~2300区域,其它区域的像素则为干扰。
车牌具有一定的宽高比,可以排除干扰。最后可分割出车牌图像如图7所示。
3 车牌字符分割
车牌字符之间存在均匀的间隔,在垂直方向上的投影峰谷交替,因此可以利用垂直投影法提取字符[3]。垂直投影如图8所示,垂直投影共八个区域,其中在300~400列间的区域对应园点。可根据垂直投影方便的分割出每个独立字符。为了字符识别的准确性,将分割出的字符图像进行归一化处理[4],如图9所示。
4 车牌字符识别
该文使用的是模板匹配法实现的字符识别,其基本思想是将归一化的字符与预先建立的模板库中的字符进行匹配,模板库中的字符与车牌字符相似程度最高的就是匹配结果。模板匹配法实现简单且识别率高,是车牌字符识别的主要方法[5]。
该文采用了一种快速匹配方法,将车牌字符与模板库中的各字符图像相减,得到差值图像,计算差值图像的像素的绝对值和,该值表示了车牌字符和模板库字符之间的误差。最小误差所对应的模板库字符就是匹配字符。以数字“6”的模板识别为例进行说明。表1所示为数字6的模板匹配情况,可见最小误差对应的模板库字符为“6”,该方法可正确识别。
5 结语
该文采用灰度化和阈值法进行了图像预处理,采用Canny缘检测和形态学操作进行了车牌定位,采用基于垂直投影的垂直切分算法对车牌进行了字符分割,采用模板匹配的算法对车牌字符进行了识别。仿真结果表明,设计的车牌识别算法可有效地实现车牌识别。
参考文献
[1] 闫敬文.图形图像处理(MATLAB版) [M].北京:国防工业出版社,2007:79-82.
[2] 袁卉平.基于MATLAB的车牌识别系统的设计与研究[J].工业控制计算机, 2010,23(10):73-74.
[3] 陈宁宁,苏坤.基于MATLAB的车牌识别系统研究与实现[J].电子测试,2013, 22(2):67-68.
[4] 刘忠杰,宋小波,何锋,等.基于MATLAB的车牌识别系统设计与实现[J].微型机与应用, 2011,30(14):37-40.
[5] 仇成群.基于MATLAB图像处理的汽车牌照识别系统[J].机械工程师, 2008,20(8):87-89.