摘要: |
机动车号牌识别又称车牌识别(License Plate Recognition,LPR),该技术通过采集机动车交通场景图像,运用图像识别技术,识别图像中目标车辆的号牌。
完整的车牌识别系统包括硬件系统和算法软件系统,本文着重介绍车牌识别算法的研究以及软件系统的设计与实现。
图像识别算法是该系统的关键,包括如下几个部分:
1.车牌定位,在采集的图像中定位出目标车辆的号牌:用角点检测和灰度方差分析的方法粗步定位车牌区域,再进行连通域分析,采用一种连通域合并准则得到候选车牌,然后分析候选车牌区域的形状、颜色、纹理等以判定候选车牌区域,最后对车牌区域进行矫正,并从图像中分割出车牌。
2.字符分割,从矫正的车牌区域图像中分割出各车牌字符:首先进行车牌区域的水平投影图分析判断车牌类型是单行车牌还是双行车牌,同时利用水平投影图中的谷点进行双行车牌的行分割;对行分割后的各行进行垂直投影,分析其投影图,利用字符间隔产生的各谷值点进行列分割;最后对分割得到的字符图形作归一化处理。
3.字符识别,应用支持向量机(Support Vector Machine,SVM)对分割出来的字符图像进行多分类识别。本文分析了多种车牌字符识别方法,在比较多种核函数应用在车牌字符识别上的性能、综合分析运算效率的基础上,采用线性核支持向量机进行车牌字符识别;采用二值化图像作为待分类数据;并根据车牌字符排列规则,将车牌字符按照排列位置分为四个大类分别训练及识别。
软件的设计与实现部分阐述用C/C++语言实现上述算法过程中采用的一些设计方法,包括:
1.面向对象的程序设计(Object Oriented Programming,OOP),控制软件实现中的复杂性,以得到清晰的程序结构。
2.参考常用设计模式(Design Patterns),设计时考虑程序结构中的易变部分,方便程序的移植和重构。
3.开发中采用单元测试(Unit Testing)以保证代码质量。
本文将讨论符合国家标准:《中华人民共和国公共安全行业标准-中华人民共和国机动车号牌》(GA36-2007)的机动车牌照图像的识别问题。同时考虑到这一标准实行时间不久,而我国道路系统中行驶的车辆主要还是挂GA36-1992标准的牌照,所以本文将同时兼顾GA36-1992标准牌照的识别问题。 |