车牌识别
摘要
数字图像处理技术是20世纪60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用前景。MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。MATLAB中集成了功能强大的图像处理工具箱。由于MATLAB语言的语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,而且这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以MATLAB在图像处理的应用中具有很大的优势。车牌识别技术是智能交通系统的重要组成部分,在近年来得到了很大的发展。本文从预处理、边缘检测、车牌定位、字符分割、字符识别五个方面,具体介绍了车牌自动识别的原理。并用MATLAB软件编程来实现每一个部分,最后识别出汽车牌照。
关键词:车牌识别、数字图像处理、MATLAB
设计原理
车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化,并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。
原理图如下:
![]() |
|
设计步骤: | |
1.提出总体设计方案:
(1)车牌图像预处理方法
因为车牌图像都是在室外拍摄的,所以不可避免地会受到光照、气候等因素的影响,而且拍摄者的手部抖动与车辆的移动会造成图像的模糊。要去除这些干扰就得先对车牌图像进行预处理。由于当前数码相机的像素较高,原始图像的数据一般比较大,输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度。因此对图像进行识别等处理时,常将彩色图像转换为灰度图像,以加快处理速度。对图像进行灰度化处理后常用的方法是图像二值化、去除背景图像、增强处理、边缘检测、滤波等处理等。
(2)车牌定位方法
我发现车牌定位算法的种类非常多,但是至今没有一种通用的方法。考虑到本次课程大作业所用车牌的一些特点,可采用以下四种车牌定位的算法,下面具体介绍。
1)基于灰度边缘检测与形态学重构的方法。这种方法只要利用车牌区域局部对比度明显和有规律的纹理特征来定位,然后利用形态学方法将车牌区域与其它背景区域分离。
2)根据车牌的固有长宽比进行定位的方法。因为中外车牌的长宽比都是固定的3.1:1,在预处理完成后,对二值化的图像进行膨胀腐蚀,计算联通区域长宽比确定车牌位置。
3)基于彩色图像的车牌定位方法。现在的牌照有四种类型:第一种是最常见的小型汽车所用的蓝底白字牌照;第二种是大型汽车所用的黄底黑字牌照;第三种是军用或警用的白底黑字、红字牌照;第四种是国外驻华机构用的黑底白字、红字牌照。基于彩色图像的车牌定位方法主要利用车牌颜色与车身其他部位颜色具有明显不同的差异来分割与提取车牌。
定位流程图:
(3)字符分割方法
字符分割是指将车牌区域分割成单个的字符区域,分割越准确,识别效果越好。目前有许多种车牌字符分割算法,由于在车牌字符分割中存在噪声干扰,边框、铆钉影响,车牌旋转和光照不均等问题,造成分割不准确,甚至分割错误,目前很难找到普遍适用的分割方法。常用的字符分割法主要是基于投影分析字符的分割方法和基于连通域分析的字符分割方法。
1)投影分析常采用的是水平投影法,即沿水平方向计算每一列属于车牌字符的象素数目,在字符的间隙处取得局部最小值,分割位置应在其附近。先根据车牌水平投影的统计特征呈现出明显“波峰——波谷——波峰”,进行水平方向上的粗分割,若字符出现合并和粘连现象,再采用递归回归办法进行二次字符分割。
2)投影法进行字符分割实现起较为简单,但在预处理效果不好的情况下,较难获得满足条件的列。若增加预处理,则使处理后的图像不可避免地损失一部分有用信息,还可能导致额外误差。
(4)字符识别方法
标准的车牌共有七个字符,如上图所示。其中第1位为汉字,第2、3位为大写英文字母,4~7位为阿拉伯数字。目前还有一定数量的个性化车牌,因为保有量较少,故可以忽略不计。所以总共需要识别的字符约50个汉字,26个大写英文字母及10个阿拉伯数字。现在常用的字符识别主要是基于模版匹配和神经网络的方法。
1)模板匹配法是最简单的一种字符识别方法。将待识别字符经分割归一化成模板字体的大小,将它输入字符识别模块进行匹配。根据实际字符和模板图像之间匹配方差最小的原则,判定车牌图像字符所属类别。这种方法对于标准、规范的字符识别效果较好。但在复杂环境下的车牌字符会与理想模板字符不完全一致,这导致了识别结果存在较大误差。