当前位置:文档之家› 基于投影法的车牌定位研究

基于投影法的车牌定位研究

基于投影法的车牌定位研究摘要:车牌识别系统是近几年发展起来的基于图像处理和字符识别技术的智能化交通管理系统。

车牌定位是车牌识别中的关键步骤。

为了能在复杂背景和不同光照条件下快速、准确地定位车牌位置。

提出了一种基于投影法的车牌定位方法。

该方法首先对车牌图像实施二值化、边缘检测等预处理,然后在此基础上,利用基于双向回溯的投影法确定车牌的上下左右边界。

实验结果表明,该方法定位准确。

关键词:车牌定位;行扫描;边缘检测;垂直投影Research of License Plate Locating Method Based on ProjectionAbstract: license plate recognition system is developed in recent years based on image processing and character recognition technologies intelligent traffic management system. License plate location is one of the key steps in the license plate recognition. In order to obtain accurate location of vehicle plate quickly under complicated background and different illumination condition, this paper proposes a kind of locating method based on projection. First, this method carries out preprocessing such as two-valuation and edge detection. Then the projection approach based on two-way back is adopted to examine up-down and left-right boundary of the car license. The experiment results indicate that the presented method is excellent in accuracy.Key words: license plate location; line scanning; edge detective; vertical projection0 引言车牌识别系统作为数字摄像、计算机信息管理、图像分割和图形识别技术在智能交通领域的应用,是智能交通管理系统中重要的组成部分。

车牌识别技术可应用于道路交通监控、交通事故现场勘察、交通违章自动记录、高速公路超速管理系统、小区智能化管理等方面[1],为智能交通管理提供了高效、实用的手段。

所以对车牌识别技术的研究依然是目前高科技领域的热门课题之一。

车牌识别系统的成功设计、开发和应用具有相当大的社会效益、经济效益和学术意义。

基于图像处理的车牌识别系统一般包括以下五个部分:图1 车牌识别系统在实际应用中,车牌识别系统必须快速、准确、鲁棒地识别出车牌。

因此,在车牌识别过程中,车辆的检测、图像的采集、车牌的识别等都是重要的环节,其中关键的技术有[2]:1)车辆牌照区域定位技术,即把车牌部分的图像从整个图像中切分出来的过程。

2)车辆牌照字符切分技术,即对定位后的车牌区域中的字符进行切分和归一化处理,其中车牌的二值化和倾斜校正对于字符的切分和识别都是非常重要的。

3)车辆牌照字符识别技术,即将切分后的字符识别出来。

车牌定位是车牌识别系统完成图像采集后对图像进行处理的第一步,它的好坏直接关系到整个系统识别率的高低,并且对识别速度有很大的影响。

车牌不能准确定位意味着后面的识别过程都是无效的[3]。

由于车牌背景的复杂性与车牌特征的多样性,目前仍没有一个通用的智能化的车牌定位方法。

目前主要的车牌定位算法有基于彩色信息的方法、基于扫描行的方法、基于数学形态学的方法、基于神经网络的方法等几大类,结合这些基本方法与各种优化算法又派生出许多其他定位算法。

这些算法尽管在一定的条件下能够分割出车牌,但都有针对性和局限性,适用范围不大。

实际应用中车牌识别系统大多安装在室外。

受天气、背景、车牌磨损等很多客观的因素的影响,定位往往不理想。

本文提出一种基于投影法的车牌定位方法。

该方法首先对车牌图像进行二值化、边缘检测等预处理。

然后利用基于双向回溯的投影算法确定车牌的上下、左右边界,取得了良好的定位效果。

1 图像预处理对于采集的原始彩色图像需要转换成灰度图像。

由于噪声、光照等原因还要对图像进行预处理。

本文提出了一种灰度化、二值化、边缘检测、图像滤波的预处理过程。

1.1 灰度化彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。

由彩色转换为灰度的过程叫做灰度化处理。

选择的标准是经过灰度变换后,像素的动态范围增加,图像的对比度扩展,使图像变得更加清晰、细腻、容易识别。

1.2 二值化二值图像是指整幅图像画面内仅黑、白二值的图像。

在实际的车牌处理系统中,进行图像二值变换的关键是要确定合适的阀值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。

车牌识别系统要求处理的速度高、成本低、信息量大,采用二值图像进行处理,能大大地提高处理效率。

阈值处理的操作过程是先由用户指定或通过算法生成一个阈值,如果图像中某中像素的灰度值小于该阈值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。

1. 3 边缘检测两个具有不同灰度值的相邻区域之间总存在边缘,边缘就是灰度值不连续的结果,是图像分割、纹理特征提取和形状特征提取等图像分析的基础。

为了对有意义的边缘点进行分类,与这个点相联系的灰度级必须比在这一点的背景上变换更有效,我们通过门限方法来决定一个值是否有效。

所以,如果一个点的二维一阶导数比指定的门限大,我们就定义图像中的该点是一个边缘点,一组这样的依据事先定好的连接准则相连的边缘点就定义为一条边缘。

经过一阶的导数的边缘检测,所求的一阶导数高于某个阈值,则确定该点为边缘点,这样会导致检测的边缘点太多。

可以通过求梯度局部最大值对应的点,并认定为边缘点,去除非局部最大值,可以检测出精确的边缘。

一阶导数的局部最大值对应二阶导数的零交叉点,这样通过找图像强度的二阶导数的零交叉点就能找到精确边缘点。

1.4 对得到图像作开操作进行滤波数学形态非线性滤波,可以用于抑制噪声,进行特征提取、边缘检测、图像分割等图像处理问题。

腐蚀是一种消除边界点的过程,结果是使目标缩小,孔洞增大,因而可有效的消除孤立噪声点;膨胀是将与目标物体接触的所有背景点合并到物体中的过程,结果是使目标增大,孔洞缩小,可填补目标物体中的空洞,形成连通域。

先腐蚀后膨胀的过程称为开运算,它具有消除细小物体,并在纤细处分离物体和平滑较大物体边界的作用;先膨胀后腐蚀的过程称为闭运算,具有填充物体内细小空洞,连接邻近物体和平滑边界的作用。

对图像做了开运算和闭运算,闭运算可以使图像的轮廓线更为光滑,它通常用来消掉狭窄的间断和长细的鸿沟,消除小的孔洞,并弥补轮廓线中的断裂。

2 车牌定位车牌定位包括上下边界定位与左右边界定位。

经过图像预处理,车牌区域具有相对集中和规则的纹理特征,并具有连续性。

此时.可以根据车牌区域黑白跳变次数先确定车牌的上下边界。

然后根据车牌字符在竖直方向的投影值来确定车牌的左右边界。

2.1 上下边界定位对二值车牌图像进行逐行扫描,利用每一行像素的黑、白跳变规律确定车牌的上下边界。

对二值图像进行逐行扫描,每一行从白变到黑或从黑变到白都记为一次灰度跳变。

扫描行可以表示为f(i),i=1,2,3,…,N 。

令D (i )=f(i)-f(i-1) i=2,3,…,N (1)每一行的跳变次数可以表示为|)1()(||)(|22∑∑==--==i i i f i f i D S (2)具体算法如下:从下向上逐行扫描图像。

对图像的每一行进行从左向右的扫描.如果某行有12个跳变点以上则将其作为牌照的底部。

因为如果某一行通过车牌区域,车牌有7个字符,那么最少的跳变点数应该是14个,左右各一个。

但考虑到样本的清晰程度以及在前述处理过程中车牌信息的丢失,选择12作为跳变点数目的最小值是可行的。

经过大量实验对比也证明这个经验值能取得较好效果。

所以若某一行跳变点数大于12,则认为这一行可能是车牌所在行,继续逐行扫描,直至跳变数小于12。

则将其作为牌照的顶部。

如果未检测到上述条件的结果,重复上述操作,直至检测到目标。

在实际的处理过程中,我们采用的是统计二值化后白点个数的方式进行,这样做更符合样本的实际情况,既减少了孤立噪声对结果的影响。

也不会因车牌信息的丢失而产生误差,同时减小了计算的复杂程度。

实验结果如图7所示为车辆图像经过水平扫描并进行分割的图像。

2.2 左右边界定位经过水平扫描后,确定了车牌区域的上下边界,再经过垂直扫描,确定车牌的左右边界。

垂直扫描的具体算法与车牌水平方向边界定位算法同理。

但为了适应样本获取的随机性,对不同大小、不同拍摄环境所得的样子有很好的适应性,本文放弃了传统的找到一个方向边界后利用车牌宽度近似固定值进行定位的思路,而使用了双向扫描并回溯的定位方法。

从左到右逐列扫描图像,对已完成水平投影分割的图像进行从上到下的扫描,如果某列有6个白点以上则将其作为预选的牌照边界。

为了防止噪声干扰导致的边界定位错误,我们向前进行一个区块的白点统计,因为如果确实是车牌区域,则在相近的接下去的几列中存在大量的车牌信息(白点);如果非车牌区域,则几乎没有或只有几个噪声点,如果白点的统计结果大于一定的阈值.则认为原列所在位置为左边边界。

在后续的测试中我们发现,最终获得的车牌不够完整有部分缺失的现象,分析原因在于,在车牌前述处理过程中造成的边缘信息丢失或不够明显,因此本文使用回溯算法。

首先将边界回溯到与扫描方向相反的距预选边界最近的投影为零的位置。

然后向相反方向逐列扫描。

当扫描后连续若干列投影均为零时则认为已找到最终边界,否则继续回溯。

确定左边界后则开始从右向左逐列扫描,算法相同,方向相反。

这样整个车牌的区域就确定了。

使用此区域对前面的灰度图进行剪取,得到了最终图像。

图9给出车牌定位的最终图像。

3 实验结果采用VC++编程实现车牌定位的过程。

相关主题