车辆牌照识别系统的研究
扫描二维码
随时随地手机看文章
摘要:在对车辆牌照识别系统研究的基础上,采用基于灰度二值化的连通域搜索的车牌照粗分类算法,彩色模型的车牌照字符切分算法和加权组合特征的字符识别算法,通过实验,设计出一个有效的车牌照识别系统。
关键词:粗分类算法;字符切分;字符识别
0 引言
车牌照系统主要分为图像采集,图像处理,车牌定位,字符切分,字符识别几个部分。
图像采集:目前图像采集主要采用专用摄像机连接图像采集卡或者直接连接便携式笔记本进行实时图像采集,将模拟信号转换为数字信号。
图像处理:需对采集的图像进行增强、恢复、变换等处理,目的是突出车牌的主要特征,以便更好地提取车牌区域。
车牌定位:从人眼视觉的角度出发,并根据车牌的字符目标区域的特点,在二值化图像的基础上提取相应的特征。车辆牌照的分割是一个寻找最符合牌照特征区域的过程。从本质上说,就是一个在参量空间寻找最优定位参量的问题,需要用最优化方法予以实现。
字符分割:是从获得的牌照区域分割出单个字符(包括汉字、字母和数字)以便于进行字符识别的过程。考虑到车牌上的字符一般除了一个汉字外其他的都是字母和数字,即在理想状态下每个字符是全连通的且互不相连,因此可以使用特定的方法进行字符切分。
字符识别:是使分割得到的字符进一步转化为文本并存入数据库或者直接显示出来的过程。
1 图像的预处理
所采用的图像预处理方法是把经过采集得到的彩色图像经过彩色-灰度变换,灰度拉伸处理,得到车牌区域突出显示的256级灰度图像。
1.1 RGB颜色模型
RGB颜色模型通常用于彩色阴极射线管等彩色光栅图形显示设备中,它是我们使用最多、最熟悉的颜色模型。它采用三维直角坐标系,红、绿、蓝为三原色,各个原色混合在一起可以产生复合色。
RGB颜色模型通常采用图2所示的单位立方体来表示,在正方体的主对角线上,各原色的强度相等,产生由暗到明的白色,也就是不同的灰度值。(0,0,0)为黑色,(1,1,1)为白色。正方体的其它六个角点分别为红、黄、绿、青、蓝和品红,需要注意的一点是,RGB颜色模型所覆盖的颜色域取决于显示设备荧光点的颜色特性,是与硬件相关的。
1.2 彩色图像转换成灰度图像
把彩色图像转换成灰度图像进行进一步的处理。利用公式将彩色图像转换成灰度图像:p=0.114*R+0.587*G+0.299*B,其中P代表图像中某点的灰度值,R,G,B分别代表彩色图中对应点的RGB模型中的R,G,B分量的值。图3就是彩色图像转换成灰度图像的效果图。
1.3 灰度图像的增强
灰度拉伸的主要方法就是对图像在某一灰度变换区间内的象素点的灰度值进行线性变换,以达到突出某一灰度区间图像,增强对比度的目的。一般的灰度变化方程为:D=AX+B,其中D为灰度变换后灰度矩阵,X为变换前灰度矩阵,A,B为变换方程系数。
灰度拉伸是指根据灰度值方图的分布有选择地拉伸某段灰度区间以改善输出图像。如果一幅图像灰度集中在较暗的区域而导致图像偏暗,可以用灰度拉伸功能(斜率A>I)来拉伸物体灰度区间以改善图像;同样如果图像灰度集中在较亮的区域而导致图像偏亮,也可以用灰度拉伸功能(斜率A<I)来压缩物体灰度区间。
1.4 基于灰度图像的二值化
二值化图像算法又称为阈值算法,其目的就是要找出一个合适的阈值,将待研究的区域划分为前景和背景两部分。对于灰度图像的二值化实际上就是确定一个最佳的分割阈值。
算法的描述如下:
输入:灰度图像
输出:阈值k
算法:
(1)求图像中最大的灰度max;
(2)令k=0;
(3)分别求出大于和小于k的这两类像素总数和像素的灰度平均值;
(4)计算类间方差和类内方差;
(5)k=k+1,循环(3)~(5)步,直到k>max;
(6)找出最大的值,得到相应的阈值k;
采用本算法可以根据全局灰度图像进行动态的二值化,二值化后的图像如图5所示,车牌照区域被很好地突出出来,其他干扰信息被很好地抑制。
2 车牌区域的粗定位
一幅图像由若干个连通域组成,所谓连通域就是由相邻的点所构成的区域。点S在图像中8连通的相邻点定义为点1,2,3,4,5,6,7,8;4连通的相邻点则定义为点2,4,6,8(见图6)。8连通相对于4连通更好地体现了相邻性,因此本文采用计算图像的8连通域。
本文采用深度优先搜索每一个点的相邻点的方法来计算整个图像的连通区域,具体算法如下:
输入:二值图像矩阵
输出:连通区域矩阵(每一个黑像素都标记所在连通区域的标号)
算法:
(1)读入二值图像矩阵,令连通区号k=0;
(2)扫描一个标记为未读的像素点;
(3)依次扫描该点相邻的八个点,比较其值,如果相等就进栈,并令其标记为k;
(4)弹出栈顶第一个像素,回到第(3)步,直到栈空;
(5)选取下一个标记为未读的像素点,k++;
(6)转第(2)步,直到所有像素点均扫描过。
车辆牌照图像是由若干个大小相近的字符构成,而车牌照区域的连通域是由若干个字符或者字符的一部分的连通区域及车牌照边框的连通域和车牌照背景的连通域几部分构成的。在正常的情况下,基本上每一个字符都会形成一个大小基本相近的连通区域的外接矩形,如图7所示。
2.1 车辆牌照区域的特征提取
得到了若干个车辆牌照的候选区域之后,需要对这些候选区域进行特征提取来进行分类识别是否为车牌照。由于这些区域的大小不一致,首先要把这些大小不同的图像进行归一化,归一化到相同大小的图像上,然后提取这些图像的水平穿越特征和垂直投影特征,由于特征的维数比较高,增加了计算负担和存储的容量,还要采用K—L变换压缩特征的维数。
为了进一步判断车牌区域,确定车牌照的精确位置,需要对车牌照候选区域提取特征。常见的车牌照特征有纹理特征,水平穿越特征,垂直投影特征,本文采用提取候选区域的水平穿越和垂直投影两种特征进行识别。
3 面向车辆牌照的字符切分
算法首先将图像二值化,计算水平方向和垂直方向上的像素投影,利用投影法确定车牌字符最上和最下点坐标以及最左和最右字符的位置,估算出整个车牌的高度和宽度,从而得到单个字符的高度和宽度,然后计算车牌区域的连通域,将最左和最右字符位置之间的连通域提取出来,最后根据估算的字符大小把较大的连通域再进行分割就得到了最后的切分结果。具体算法如下:
输入:图像二值化矩阵;
输出:字符切分矩形位置坐标。
算法:
(1)计算每一行的所有象素点值为0的个数,即水平投影;
(2)从上至下寻找水平投影的第一个局部最小点作为图像的上界;
(3)从下至上寻找水平投影的第一个局部最小点作为图像的下界;
(4)计算每一列在上下界之间所有象素点值为0的个数,即垂直投影;
(5)从左至右寻找第一个局部最小点作为切分图像的左边界;
(6)从右至左寻找第一个局部最小点作为切分图像的右边界;
整个切分区域宽度width=右边界横坐标,左边界横坐标;
整个切分区域高度Height=上界坐标,下界坐标;
单个字符宽度w=切分区域宽度/8;
(7)计算上下边界和左右边界之间的8连通域;
(8)判断每一个连通域的宽度是否大于1.2*w;
否:转到(10);
是:转到(9);
(9)计算每—个连通域宽度大于1.2*w的连通域的垂直投影的最小值点,用最小值点将连通域分成两部分;转到(8);
(10)输出所有的切分区域坐标;
(11)算法结束。
图9就是车牌切分的结果。
4 车牌照宇符识别
字符识别是车牌照识别系统的最后一个组成部分,这一部分需要对图像采集、图像处理、车牌照定位、字符切分所得到的结果进行识别处理,最终得到车辆牌照的字符。车辆牌照的字符识别方法与普通OCR字符识别有很多相似之处,通常是直接利用或者借鉴OCR字符识别的方法,并且能取得很好的识别效果。
车辆牌照字符识别属于模式识别领域的一个分支,采用的是模式识别的经典理论和方法。通常的模式识别过程可以概述为:从测量空间映射到特征空间,再映射到模式空间。对于一般的字符识别过程来说,识别过程为:从输入的待识别字符(样本)点阵图形提取描述该字符的特征,再根据一定准则来判定该样本所属的模式类别。因此字符描述,特征提取与选择,分类判决,是字符识别的三个基本环节。
5 总结
车辆牌照识别系统是智能交通管理系统中一项重要的技术,对车辆的自动化管理起到了关键的作用。基于行驶中的车辆牌照识别系统由于其适应性强,自动化程度高,将得到更加广泛的应用而成为智能化交通管理系统的重要环节。