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

时间:2011-09-05

  1 引言

  车牌照是全世界对车辆身份识别的标记,尽管牌照的字符、颜色、格式内容和制作材料会多种多样,但车牌照仍是范围内为和特定的识别标记。在我国,直至20世纪50年代,车辆管理主要靠人工方式,然而随着经济的迅猛发展,工业化程度的不断加深,汽车数量大量增加,给交通管理、环境治理、社会治安、交通运营等提出了许多新的问题。伴随着车辆数目的增加,生活小区、地方单位、部队营区、停车场等对车辆的管理面临着新的挑战。如何做到车辆状态有案可查、有据可依,如何实现车辆的科学化、自动化管理成为人们关注的话题。

  本文运用MATLAB对车牌识别技术中的图像预处理、车牌定位、字符分割与字符识别等部分进行了研究,并提出自己的看法,使用多种方法有机结合使系统有效识别能力提高。

  2 系统的实现

  2.1 系统简述

  一个完整的牌照识别系统应包括车辆检测、图像采集、图像预处理、车牌定位、字符分割、字符识别等单元。当车辆到达触发图像采集单元时,系统采集当前的视频图像,牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。牌照识别系统原理如图1所示。

  2.2 图像预处理

  输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,常将彩色图像转换为灰度图像,以加快处理速度。对图像进行灰度化处理、提取背景图像、增强处理、图像二值化、边缘检测、滤波等处理的主要MATLAB语句如下所示:

 

  2.3 车牌定位

  自然环境下,汽车图像背景复杂,光照不均匀,在自然背景中准确地确定牌照区域是整个图像识别过程中的关键。首先对采集到的图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,选定一个区域作为牌照区域,将其从图像中分割出来,同时要考虑车牌倾斜问题。算法流程如下:

  (1)对二值图像进行区域提取,计算并比较区域特征参数,提取车牌区域。

  (2)计算包含所标记区域的宽和高,并根据先前知识,提取并显示更接近的车牌二子值图。

  (3)通过计算车牌旋转角度解决车牌倾斜问题。由于车牌倾斜导致投影效果峰谷不明显,需车牌矫正处理。采取线性拟合方法,计算出车牌上边或下边图像值为1 的点拟合直线与水平X轴的夹角。用MATLAB函数的旋转车牌图象函数Imrotate,计算车牌旋转角度和经旋转、二值化后的车牌二值子图处理结果如图 2所示。

  2.4 字符分割

  完成牌照区域的定位后,再将牌照区域分割为单个字符。一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部值,并且该位置应满足牌照的字符书写格式、字符、尺寸限制等条件。利用垂直投影法实现复杂环境下汽车图像中的字符分割效果较好。通过分析计算字符的水平投影和垂直投影,可获得车牌字符高度、字符顶行与尾行、字符宽度、每个字符的中心位置,以方便提取分割字符。然后计算车牌垂直投影,去掉车牌垂直边框。获取车牌及字符平均宽度。计算车牌每个字符的中心位置和字符宽度,提取分割字符,其算法流程如图3所示,通过程序算法计算的车牌字符高度和宽度及分割的字符,如图4所示。

  3 结束语

  从MATLAB编程运行结果看,这里采用的图像识别算法对车牌的定位非常有效,该算法可有效检测车牌图像的上下左右边框、旋转角度,准确分割及识别车牌字符。通过对多个车牌进行试验,正确率高,与传统的采用C++语言相比,工作量和开发周期都减少很多。实际应用中,牌照识别系统的识别率与牌照质量和图像拍摄质量密切相关,还会受到各种因素,需不断完善识别系统和算法。


  
上一篇:一种嵌入式ARM开发平台设计与实现
下一篇:基于C51单片机的MP3硬件播放器的实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料