基于图像的车牌识别(精选7篇)
基于图像的车牌识别 篇1
摘要:本文主要探讨车牌识别过程中图像处理技术的应用,主要包括图像预处理中灰度化处理、二值化处理、直方图处理以及滤波。车牌检测中的常用算子,如prewitt算子、roberts算子、sober算子和拉普拉斯算子。最后给出车牌字符分割与识别的步骤和结果。
关键词:灰度化,滤波,边缘检测,图像分割,字符识别
0 引言
当今汽车行业正呈现迅猛增长势头。随之而来地,诸多的汽车管理领域也逐渐获得了发展重视,同时研究者们则开始更多地关注于高速公路、停车场出入口监管,公共安全监控和犯罪分子追踪等现实攸关的重点方向领域内容。在此背景下,自动化识别即已日益突显其在该应用领域内容研发处理中的关键重要地位。而在与之对应的主流分支、即车牌识别研究中,当经历了多方系统论证后可知,图像的处理与分析即是其达到最终目标的基础决定性环节。具体来说,由于在不同场合,受光线、天气、距离、拍摄角度等多种因素影响,拍摄得到的车牌效果差别很大,因此,就需要将多种图像处理和分析技术,例如将直方图均衡化、灰度化、图像边缘检测技术、图像分割技术、字符识别等技术相结合以实现最佳图像处理效果。本文即针对此一内容展开研究论述,主要给出了车牌识别技术的原理和完整实现过程。
1 车牌图像的预处理
车牌原始图像通常受光线、天气、车牌污损、拍摄角度等原因造成图像画面底质不佳,因此在车牌识别前,则需要对车牌进行预处理,使得处理后的图像便于识别。在预处理技术中,主要使用的有灰度化处理、二值化处理、直方图处理、滤波等。
1.1 图像灰度化处理
未处理车牌图像多会带有颜色,而彩色图像包含信息容量较大,因而不易处理。在车牌识别中,具体设定任务是识别车牌号码,所以色彩一般来说并不重要。为此,可以先将彩色图像转换成灰度图像。图1 即已展示了一幅未处理车牌图像转换为灰度图像的效果对比。
1.2 二值化处理
二值化处理是将图像由彩色或灰度图像转换为黑白二值图像的过程。二值化处理后,图像只有黑白两个色度的图像,使图像的对比度明显提高,易于辨认识别。但其缺点是丢失图像的大量细节。图2 是未处理彩色图像转化为二值图像的效果呈现,图3 是将灰度图像转化为二值图像的效果展示。
由上图可知,在二值化过程中,由于车牌蓝底、白字的对比度并不清晰,使得在二值化过程中可能会造成边缘不易分辨,而灰度图像的二值化效果却更显优势,因此研究将在灰度图像的基础上进行二值化图像的处理。
1.3 直方图处理
直方图是灰度图各像素灰度分布的图表。可以由直方图有效推理而得到图像的灰度构成及分布。反过来,通过人为将直方图均衡化或者匹配化往往可以取得很好的处理效果。图4 中( a) 为原始图像的灰度图像,( b) 为其直方图,从直方图中可以看出,直方图整体呈现偏左,且密集,代表图像灰暗部分多,明亮部分少。基于直方图的理论分析,如果直方图发生了偏左,表明图像偏暗; 若出现了偏右,表明图像太亮; 而若集中于中段,明亮度适合,但对比度稍差。综上可知,如果想得到亮度适中、对比度良好的直方图,即应使得直方图分布均匀。相应地,图4 中( c) 和( d) 就是直方图均衡化后的效果图像,整个图像的亮度明显提高。
1.4 滤波
车牌图像在拍摄过程中,容易受到自然因素、湿度、泥污残留等各种因素的干扰,因此拍出的图片经常出现各种噪声。因为噪声产生的原因复杂、形式多样,在图像处理领域已经设计各种手段以降低或消除噪声。通常采用方法就是滤波,借助其来消除图像噪声,即通过对图像区域进行转换,再替代未处理的图像。当下比较成熟的滤波技术有均值滤波、中值滤波等。
具体来说,均值滤波的实现过程是将中心在( x,y) 点,尺寸为m* n的矩形子图像窗口进行计算,求得被噪声污染图像g( x,y) 的平均值; 而中值滤波则是属于统计排序的滤波器,并将结果中相邻像素的灰度中值来代替原像素值。
图5 是均值滤波后和中值滤波后的车牌图像。
2 图像边缘检测
车牌图像的识别通常仅需要识别车牌区域即可,如何在整张图片中提取获得车牌区域,此时就要用到图像分割。时下流行的方法是边缘检测,因为车牌边缘与背景图像之间往往存在较大的亮度差,基于此就可以采用一定的算法提取出所需图像边缘部分的信息。常见的边缘检测算子有prewitt算子、roberts算子、sober算子和拉普拉斯算子[1]。
图6 是利用上述各算子模板产生的边缘检测效果。
3 车牌字符的分割与识别
字符识别是车牌识别的核心焦点。在完成对整个车牌图像整体相关处理后,即可进行字符的分割与识别。因为车牌的字符间隔较大,其基础方法思路即为寻找连续文字块,若长度大于某阈值,则认为该块有两个字符组成,需要分割[2]。字符分割的Matlab实验结果如图7 所示。
目前,车牌字符识别的主要算法分别有如下两种: 基于模板匹配的算法和基于人工神经网络的算法。在此,可对其分述如下。
首先,基于模板匹配的实现过程可概述为: 对被识别的字符进行二值化处理,再将字符尺寸缩放成字符数据库中模板的尺寸进行匹配,由此选取最佳的匹配作为识别结果。
其次,基于人工神经网络的字符识别有两种技术实现方式: 其一是,先对被识别字符提取特征,再用所获得的特征集来训练神经网络分类器,最后进行匹配。其二是,直接利用神经网络将被识别的图像输入网络,由网络自动实现特征提取直至识别[3]。
模板匹配法实现上要更为简单,并且车牌的字符也比较规则,因此对字符图像的缺损、污迹等干扰的适应力较强且识别率较高。而神经网络算法识别效果却与字符特征提取密切相关,字符特征提取将消耗较大的资源。故而研究选用模板匹配法作为车牌字符识别的主要方法。
模板匹配的实施步骤如图8 所示。
由图8 可知,模板匹配的实现过程是将从被识别车牌的图像区域f( i,j) 中提取的若干特征量与模板T( i,j) 相应的特征量进行逐项比对,计算二者间规格化的互相关量,互相关量最大的则表示二者相似程度最高,可将被识别的图像归于其所属分类。也可以用最小距离法判定所属类,即通过计算图像与模板特征量之间的距离来给出判定,距离最小的就表示二者最接近。然而,由于成像条件存在差异,会产生有较大的噪声干扰,或未处理的图像经预处理和规格化处理后,可能使得图像的灰度或像素点的位置发生改变,故而在实际构建模板时,应当注意考虑各类似区域之间差别,及容易由处理过程引起的噪声和位移等因素,再基于图像不变特性来进行优良设计,就可以有效解决上述问题[2,4]。
本文采用相减的方法来求得字符与模板中哪一个字符最为相似,由此找到相似度最大的输出。我国汽车牌照标准统一,少量特殊车辆不一致,字符一般为七个,车牌第一位规定是汉字,代表车辆所属省份; 其后为字母或数字组合。车牌字符识别由于字符数有限( 汉字共约50 多个,大写英文字母26个,数字10 个) ,就使得建立字符模板库比较方便。
本文Matlab实验结果如图9 所示。
4 结束语
本文对车牌识别过程中涉及到的关键图像处理技术进行研究,从前期的图像预处理,到图像的定位与检测,到最终的字符识别进行了详细的介绍。车牌图像因为受光线、天气、泥污、拍摄角度等多方面影响,造成原始图像差异很大,图像噪声严重。另外,车牌图像具有蓝底白字( 少量其他特殊车辆具有其他颜色) 等通用特征,决定了在车牌分割中必将具有一定的规范性。因此,通过图像的前期处理和图像分割的方法,可以将车牌字符定位出来。且车牌字符具有不连贯性,为字符识别带来方便。本文给出了车牌图像识别常用技术和方法,并通过Matlab实现,为车牌识别领域的研究提供一定的帮助和借鉴。
参考文献
[1]刘超.实时无缝全景图像拼接技术研究与实现[D].长沙:中南大学,2011.
[2]王立强.车牌自动识别技术的算法与实践[J].廊坊师范学院学报(自然科学版),2010,10(4):39-41.
[3]甘英俊,胡天翔,沈海涛,等.基于机器视觉的汽车牌照识别[J].机械制造与自动化,2009(2):97-101.
[4]董然.基于J2ME的车牌识别系统的研究[D].太原:太原理工大学,2010.
[5]林苏映.基于计算机视觉的人脸跟踪[D].杭州:浙江大学,2010.
基于图像的车牌识别 篇2
图像预处理实际上就是为准确地分割图像做好准备。通常情况下,摄像机在拍摄时会由于外界光线、气候或其他自然、设备本身、人为因素等干扰而导致所拍摄的车牌图片成像不完美。例如,对比度太小、曝光量太大、不清晰、倾斜等等。这些情况都会极大地影响后期车牌号码字符的分割操作,甚至导致无法进行字符分割操作。所以,在做字符分割操作之前,非常有必要先对图像做一系列的预处理。这些预处理操作包括图像归一化、中值滤波、图像效果增强、二值化、方向矫正以及去除大噪点的二值图像后处理等过程。
1车牌图像的归一化
由于实际输入的图像通常都会大小不一,理论上对图像的大小和颜色都无严格要求,但车牌图像过小会影响识别的正确率,为了能够适应不同大小的图像,需要对输入的灰度图像进行大小归一化。对于较小或较大的图像(宽度<100或>250,高度<30或>80,单位为像素),全部统一为宽度176像素,高度58像素的图像。采用这一大小是考虑到BMP图像的存储特点(每一行的存储字节数必需是4的倍数)和实际处理的模板车牌图像的大小两个方面,而且这个宽度与高度的比例关系和实际车牌的宽高比例关系较为接近,图像归一化之后不会引起图像的变形而影响后续的处理[1]。
2中值滤波
为了抑制噪声,通常我们会采用低通滤波,但由于边缘轮廓也包含大量的高频信息,所以低通滤波在过滤噪声的同时,也使得边界变模糊。为了在过滤噪声的同时,还能很好的保护边缘轮廓信息,本文采用了中值滤波方法。中值滤波的原理很简单,用一个窗口W在图像上进行扫描,把窗口内包含的图像像素按灰度级升序或降序排列起来,取原图像灰度值居中的像素灰度值作为处理之后的中心像素的灰度值,便完成了中值滤波。通常中间像素为奇数,以便有个中间值,如果窗口内像素为偶数时,可以取中间两像素灰度的平均值[2]。中值滤波的处理效果关键在于窗口W的选择。本文采用的中值滤波的窗口为十字形窗口,窗口中共9个像素,如图1所示。
实验表明这种中值滤波对于消除孤立噪声点的干扰十分有用,更重要的是使用这种窗口进行滤波时,除了能有效消除噪声之外,还能有效地保护边界信息。
3 图像效果增强
3.1 灰度拉伸
对阈值选取影响较大的因素之一就是图像对比度太小,这种情况反映到图像直方图上就是背景点组成的峰和目标点组成的峰融合在了一起,虽然直方图呈现了双峰结构,但在很大一部分灰度范围内却并没有图像像素的分布,如图2所示。
观察图2可以看出如果把灰度范围从150—255放大到0—255,无疑会在很大程度上提高图像的对比度,有利于图像的进一步处理[3]。
3.2 图像直方图规格化
图像的直方图表示了图像中各种不同的灰度级像素点出现的频率。直方图规格化,就是修正图像的直方图,使得重新组织的图像具有期望的直方图的形状。理想图像的直方图呈现一个双峰分布的形状,目标和背景各自聚成一个峰。灰度分布过窄或直方图偏向一方具体反映到图像上就是图像太亮(此时灰度值集中在255一边),或者图像太暗(此时灰度值集中在0一边)[4]。在程序中设定所有象素的灰度值相加之和大于等于图像宽W×图像高H×255×0.75或小于等于图像宽W×图像高H×255×0.25时,启用这个模块来对图像进行处理。本文采用的期望标准直方图是自己设计的一个用二次多项式逼近的一个双峰分布的直方图,形式为:
undefined
其中A=0.6、B=0.4、a=128,x是原图像每个象素点的灰度值, f(x)是处理后的每个像素点的灰度值,其中A、B、a的值是在图像仿真中得到的经验值。
函数的形状如图3所示。
处理效果示例如图4、图5所示。
可以看出,原图由于光照太强烈,整个车牌用肉眼比较难看清,经过直方图规范化后,图像明显变清晰了,而且直方图呈现出规则的双峰分布形状,这为后面的处理带来了方便。
4 选择自适应阈值并进行二值化
根据前面对图像的增强处理,本文利用灰度分布直方图来动态寻找波谷,取波谷作为图像分割的整体阈值,从而实现阈值的自适应选择。计算推导如下。
假设灰度值为1—m级,灰度i的象素数为ni,则像素总数undefined,各灰度值的频率为undefined,再假设灰度值k把m级灰度值分为两段,C0=(1,2,…,k}和C1={k+1,k+2…,m}。
C0的频率undefined的频率undefined。
C0的平均值undefined的平均值undefined。
其中,undefined是整体图像的平均灰度,undefined是阈值k的平均灰度,于是有μ=W0μ0+W1μ1。
两组间的方差:δ2(k)=W0(μ0-μ)2+W1(μ1-μ)2=
undefined。
使k从1到m逐一变化,使δ2(k)最大的k*即为阈值,这里δ2(k)可称为阈值选取函数,实际上计算的就是两部分图像形心的距离,δ2(k)最大也就对应着两部分的距离最大。阈值确定之后就可以对全图进行二值化处理了,处理过程比较简单,就是把小于阈值的灰度作为背景灰度区域,大于阈值的灰度值作为目标。
处理效果如图6、图7所示。
5 车牌方向矫正
并不是所有的车牌都需要进行方向校正,绝大多数情况下车牌的倾斜角度都很小,这主要取决于摄像机的放置,因为一般车牌都是水平的固定在汽车前面,所以当摄像机的位置固定之后,该摄像机所拍摄下来的所有车牌的倾角方向大体上是一致的。
本文采用KL变换来求得车牌字符的主轴方向,进而求得旋转角度。具体过程如下:
不管车牌的图像倾角如何变化,其形心是相对不变的,可以用图像的几何矩求得图像的形心坐标,几何矩的具体定义如下(对二值化图像而言):
undefined;其中M和N分别为图像的宽度和高度,则车牌的形心坐标(X0,Y0)可以由几何矩求出:
undefined
求得形心坐标后,将车牌的坐标原点移到该处,在新的坐标系下车牌具有平移不变性,设xi是目标各像素横坐标位置,yi是纵坐标位置,取undefined,设N为目标所含的总像素数,即黑像素的总数,那么X的均值和协方差矩阵估计为:
undefined
由于已经对图像做了平移处理,所以undefinedx=0,则有:
undefined
求出undefinedx的特征值和特征向量:undefined;undefined。
取undefined,做变换Y=ψTX,即
undefined
经过上述变换,两个坐标分量互不相关,目标主轴沿y1方向,旋转角度为:θ=tan-1(e12/e11),则新的坐标为(xnew,ynew),即
undefined
6 二值图像的后处理
二值图像后处理的目的是净化二值图像,去掉额外的大噪声(随机的小噪声已经用中值滤波去除了),如车牌边缘和车牌上的钉子或者污点等孤立噪声点。对于车牌边缘采用了行扫描线段法。因为车牌边缘出现的地方通常会出现连续的黑线段(被误认为目标),利用阈值控制(系统默认为5)可以把车牌边界去掉。
采用形态学的方法对确认的白底黑字图像进一步进行二值图像的孤立点去噪。形态学的用途主要是获取物体拓扑和结构信息,它通过物体和结构元素相互作用的某些运算,得到物体更本质的形态[5]。
本文采用先腐蚀后膨胀的方法,基元采用3×3的小窗口,经过图像后处理,对没有去除的较大一点的噪声(容易被误认为目标)进一步进行去除,进一步净化了图像。
处理效果如图8、图9所示。
从图9可见,车牌边框以及上方左右两个“大钉子”被彻底去除了,图像质量进一步提高,这为以后顺利地进行车牌号码字符分割和识别做好了准备。
7 结束语
以上所述车牌图像预处理是一个多步骤紧密相关联的过程,本人在传统的图形图像处理方法的基础上,加入了一些自己的新思想、新方法。比如中值滤波的“十字形”窗口、自适应二值化阈值的确定法则等等。实验表明,这些新方法都有较好的图像处理效果。
参考文献
[1]王鑫,宁晨,罗斌.一种基于归一化割的图像分割算法.计算机应用研究,2006;2:165—166
[2]胡旺,李志蜀,黄奇.基于双窗口和极值压缩的自适应中值滤波.中国图像图形学报,2007;1:43—50
[3]章秀华,杨坤涛.基于最大熵原则和灰度变换的图形增强.光电工程,2006;2:84—87
[4]李绍君,甘岚.两种直方图规定化实现算法的分析.人工智能及识别技术,2006;9:1705—1706
基于图像的车牌识别 篇3
汽车牌照中的字符是由有限汉子、字母和数字组成, 车牌有时因光照、拍摄的角度造成的车牌字符不清楚, 会使车牌字符发生畸变, 从而影响识别效果。为了提高车牌的字符识别率, 需要一个有效的预处理算法, 尽量减小以上各种原因造成的影响, 得到较为清晰的待识别的单个字符, 从而有利于后续的处理。
一、Sobel算法
Sobel算子的边缘检测, 是在图像空间中利用两个方向模板与图像进行领域卷积来完成的。这两个方向模板一个检测水平边缘, 一个检测垂直边缘, 如图1所示。图中模板内的数字为模板系数, 中间的点表示中心元素, 梯度方向与边缘方向总是正交垂直。Sobel算子是综合图像每个像素点上、下、左、右邻点灰度的加权和, 接近模板中心的权值较大, 然后选择一适当阈值, 如果某一点梯度幅值超过该阈值, 则认为该点是边缘点。
二、Roberts算法
Roberts算子是一种交差差分算子, 是根据任意一对互相垂直方向上的差分可用来计算梯度的原理, 采用对角线方向相邻两像素之差, 即:
它的两个方向模板是2×2, 该算子的卷积算子模板如图2。
三、实验结果
由图3我们可以看出, 获取的原始车牌图像比较模糊、污染, 有的字符存在明显缺陷, 这给车牌识别带来困难, 无法准确识别。图4和图5是经过Sobel和Robert算子边缘检测后的图像, 图像清晰可见, 能够明显辨别车牌中的汉子、字母和数字等字符。图6是经过细化后的车牌图像, 经过细化后的车牌图像, 效果很明显, 能够清晰的辨别字符特征, 从而提高车牌识别的检测效率。但在算法研究过程中, 我们发现车牌图像预处理算法还是存在某些局限性, 如对车牌图像中钉子不能很好的进行检测, 在本文算法中, 车牌钉子部分都被检测出来, 在以后的研究中, 我们还将进一步完善该算法, 做更深入的研究, 争取达到更好的检测效果。
摘要:车牌图像研究中, 由于天气、拍摄角度影响, 使得获取的车牌图像模糊现象, 给车牌识别系统带来了难度。本文提出一种新的预处理算法, 采用Sobel和Robert算法对图像进行边缘检测, 该算法原理简单, 容易实现, 处理速度快, 有效地解决车牌字符预处理中的难题。
关键词:车牌图像,识别系统,Sobel,Robert算法
参考文献
[1]彭碧霞.车牌图像自动识别系统预处理算法研究[J].武汉大学学报, 2006 (6) .
[2]张秀凤, 娄树理, 张燕妮.红外图像模式识别的预处理研究[J].光电技术应用, 2010 (10) .
基于统计的车牌字符识别 篇4
按照我国机动车号牌标准, 车牌的第一个字符为汉字, 并且该字符为省、自治区、直辖市简称和一些特殊字符, 总共37个汉字, 且汉字字体有标准统一, 因为所有的机动车号牌中第一个汉字字符固定, 是37个汉字中的一个, 因此我们可以对每个字符进行特征统计, 通过聚类的思想对字符进行分类。
2 基于聚类的汉字字符判别
汉字字符的分类识别识别与其他分类一样, 同样分为三个步骤:分类对象特征提取;构建分类器;分类计算。
2.1 提取特征向量
本文将通过数字图像的统计特征进行字符特征的提取。
对每个字符iy建立特征向量yi (28) (7) xil, xi2, (43) , xin (8) 。首先, 对车牌中的37汉字字符标准的图像样本进行特征统计, 读取图像后, 转换为二值图像。提取特征包括字体占有率、左右分布比例、上下分布比例。
从37个字符中可以看出, 随着每个汉字字符的笔画数目复杂程度不同, 字符的占有率、左右分布、上下分布各不相同。因此, 这些特征对于字符的判别分类具有重要的意义, 首先, 通过图像的数值矩阵结构特征计算图像边界:Bou, 1Bou2, Bou3, Bou4分别为边界上下左右的行列号。下面对这些特征信息进行提取:
占有率:
左右分布:
上下分布:
至此, 完成对汉字特征的提取, 下面对汉字进行识别。
2.2 聚类分类识别
这里我们仍然采用聚类分析的思想, 通过衡量距离计算相似度, 达到对汉字字符分辨识别的目的。根据上面建立的样本集合Y, Y (28) yii (28) , 1, 2, 3 (43) , 37, 首先, 采集样本信息, 计算出每一个向量iy, 然后对每个判别对象y0进行相同信息的提取, 然后进行测度衡量。
2.3 分类计算
下面将样本代入进行计算, 通过预处理、放缩、角度校正等得到字符图像的二值图, 对样本y0进行直接聚类法判别, 结果如表1。
从表1中我们可以看出, 最小距离为1.1521, 判别结果为‘京’, 结果正确。
摘要:车牌字符分割后的字符识别是车牌识别系统的技术关键, 目前字符识别的主流技术方法为基于字符特征提取的神经网络识别。目前国际上对字符识别技术有了较为成熟的研究成果, 但是, 这些技术尚不能对中国机动车牌中的汉字部分进行识别。本文将对车牌的汉字识别技术提出基于统计的识别方法, 并对汉字的特征提取提出相应的技术方案。
关键词:统计,车牌识别,特征提取,分类器
参考文献
[1]邹永星.车牌字符分割方法的研究[D].硕士学位论文, 湖南:湖南师范大学, 2008.
[2]王广宇.车辆牌照识别系统综述[J].郑州轻工业学院学报 (自然科学版) , 2001, 16 (2) :47-50.
基于DSP的车牌识别系统 篇5
伴随着世界各国汽车数量急剧增加, 城市交通状况日益引起人们的重视, 如何有效地进行交通管理, 已成为越来越多人关注的焦点, 解决这些问题的关键就是建立智能交通系统。车牌识别是智能交通系统的重要组成部分, 它在交通控制与监视中有着多种用途, 目前已广泛应用于各种领域。
2 车牌识别系统的工作原理
车牌识别系统能将输入的车牌图像经过处理识别, 输出为几个字节大小的车牌字符串, 无论在存储空间的占用还是与管理数据库相连方面都有无可比拟的优越性, 有着广泛的应用前景。车牌识别系统的成功开发将大大加速智能运输系统的进程。系统采用DSP-EXP-IV实验箱, 静态视频图象采集卡, 摄像头。该系统的工作过程如下:第一步, 由摄像头拍下车牌图像, 完成图像采集并将采集来的图像存在视频采集卡的SRAM中。第二步, 将图像通过DSP1进行处理, 图像处理包括滤波、二值化、倾斜度调整和去除车牌边框、字符分割以及归一化等等。第三步, 提取字符的特征, 并按照模板匹配法进行识别。第四步, 进行双机通信, 将分析数据传到DSP2, 然后控制液晶屏显示结果。
3 车牌识别系统的实现
3.1 图像采集及存储格式
用摄像头对准车牌, 按下视频采集卡上的复位键, 图像便被存储在采集卡的SRAM空间。
3.2 图像的灰度化。
采集来的图像为彩色的, 由于其调色板内容比较复杂, 使得图像处理的许多算法都没有办法展开, 因此有必要对它进行灰度处理。灰度图像没有颜色的差异, 有的只是亮度上的不同。亮度值大的像素点比较亮 (亮度值最大为255, 为白色) , 反之, 比较暗 (亮度值最小为0, 为黑色) 。
3.3 图像的二值化。
在进行了上述的去色调的处理后, 图像由彩色图像转化为灰度图像。图像中的每个像素只有亮度值。它的大小只决定像素的亮暗程度。为了便于开展后续的图像处理操作, 还需要对得到的灰度图像进行二值化处理。图像的二值化就是把图像中的像素根据一定的标准分化成两种颜色。在本系统中是根据像素的亮度值处理成黑白两种颜色。图像的二值化有很多成熟的算法。它可以采用自适应阈值法, 也可以采用给定阈值法。由于车牌字体与背景颜色一般比较固定且对比鲜明, 所以本系统采用给定阈值[3]的方法。经过二值化后, 电脑显示器上显示的车牌图像见图2。
3.4 车牌的去边框。
由于车牌字体外有边框, 在对字符进行分割、归一化等处理前要先去边框。本系统采用逐行逐列扫描法来去除边框。经过去边框后, 车牌图像在显示器上显示见图5。
3.5 字符的归一化。
每次采集来的图像中, 字符大小都有差异。在提取字符特征向量时, 即使是同一个字符由于大小差异, 每次的提取的特征值也有很大差别, 没有办法利用其与现成的模扳匹配来识别字符。因此, 必须把字符归一化为统一的大小, 以提高识别的准确率。
经过归一化并重新排列后的字符在显示器上显示, 见图6, 7。
3.6 字符特征提取。
在本系统中对采集来的车牌图像经过二值化、去边框、大小归一化等一系列变换, 原来大小不一, 分布不规律的字符变成了一个个大小相同, 排列整齐的字符。下面就要从这些经过处理的字符中提取最能体现字符特征的特征向量。网格特征提取法[1]就是用一组假想的网线对字符图像的区域进行划分。字符图像被均匀分成若干区域, 称之为“网格”。在这里, 网线是在垂直方向和水平方向均匀分布的。分割完毕后, 统计每一个格子中白色像素点的个数作为特征向量。在本系统中为了进一步提高其适应性, 以每个小格子中白色像素点个数与该字符中总的白色像素点个数的比值作为特征向量。例如, 对于数字“6”, 将其平均分成如下图所示的9个网格, 从左到右排列分别为网格1、网格2、网格3, 第二行接着上面的数字继续从左向右排列, 依次类推。然后统计第i个网格中的白像素点个数, 记为s[i], i=0…8。接着统计总的白色像素点的个数, 记为sum。则其九个网格特征提取值为:s[i]/sum, 其中i=0, 1…8。 (见图8, 9)
3.7 字符识别算法--模板匹配法。
车牌字符字符集小, 车牌上出现的汉字只包括全国各省、市、直辖市和部队、武警、公安的简称, 再加上26个英文字母以及10个数字, 字符类别不超过100个。又由于硬件存储空间和运行速度的限制, 系统采用相对较简单的模板匹配法。模板匹配[2]这是图像识别方法中最具代表性的基本方法之一, 它是将从待识别的图像或图像区域f (i, j) 中提取的若干特征向量与模板T (i, j) 相应的特征量逐个进行比较, 计算它们之间规格化的互相关量, 其中互相关量最大的一个就表示其间相似程度最高, 可将图像归于相应的类。也可以计算图像与模板特征向量之间的距离, 用最小距离法判定所属类。
参考文献
[1]张雄伟, 邹霞, 贾冲.DSP芯片原理与应用[M].北京:北京机械工业出版社.2005.[1]张雄伟, 邹霞, 贾冲.DSP芯片原理与应用[M].北京:北京机械工业出版社.2005.
[2]胡小锋, 赵辉.Visual C++/MATLAB图像处理与识别使用案例精选[M].北京:人民邮电出版社, 2004.[2]胡小锋, 赵辉.Visual C++/MATLAB图像处理与识别使用案例精选[M].北京:人民邮电出版社, 2004.
基于FPGA的车牌识别系统设计 篇6
关键词:FPGA,车牌识别,Nios II
交通拥堵一直是一个社会性问题,尤其是在早晚高峰期,车辆往往寸步难行,一部分是因为城市规划不合理,但是主要还是驾驶员的不遵守交通法规引起的,这其中有相当一部分交通拥堵是由于车辆违停造成的。过去十几年间,许多城市提出了解决方案,使得司机违停而引起的交通拥堵在大型城市少了很多,这一切都得益于交巡警部门强力干预,对违停建立了严密的监控和惩罚机制以及驾驶员法制意识的提高。然而,在一些中小型城市,经济迅速发展,城市道路建设发展速度远远不及经济发展速度,再加上某些司机图便利,随意将车停在路边,往往会引起交通拥堵,甚至引起重大交通事故。因此,如何在这些城市中提高交警执法的效率,降低违法行为发生率,对缓解交通拥堵具有重要现实意义。
目前车牌识别有多种方法: 主要有利用梯度信息投影统计[1],车牌特征信息识别[2]等方法。但在实际应用中,这些方法并不能在道路的复杂情况下提取出显著的特征,容易导致特征维度较大,处理后的结果并不是最好的效果。
Nios Ⅱ系统是ALTERA公司的开发的可编程软核处理器,具有较强的灵活性,可以根据实际的需求来增减外设的数量和种类。设计人员操作Altera公司发布的SOPC Builder工具[3],设计在FPGA平台上提供软件、硬件开发环境,并在此基础上,将处理器、存储器、外设接口和用户逻辑电路等硬件系统和算法以及软件集成在一块可编程逻辑芯片中,这种设计方式简化了系统的调试过程[4]。本文将开发基于FPGA的车牌识别系统,获取车辆运行道路环境信息,研究车牌识别的实现方法,为开发高效率、高精度、经济实用的车牌识别系统提供理论依据和技术基础。
1 系统总体设计
1. 1 系统结构
本系统基于EP4CE30 的FPGA硬件系统和基于NIOS Ⅱ的系统来实现三大模块功能,本系统主要致力于制作一套车牌识别的FPGA的装置,本系统主要由三部分组成,分别是图像采集装置、图像处理装置、图像显示装置。充分利用可编程逻辑元器件FPGA高速处理数据的特性,整个系统在50Hz的工作频率下,以FPGA为核心,将用于视频处理的C语言代码嵌入到NIOS Ⅱ软核中,通过I/O并行传输的方式,将CMOS摄像头上采集的数据传输到SDRAM存储器中对数据进行缓存,再由NIOS Ⅱ软核中植入的图像处理模块将SDRAM中缓存的数据读取出来,系统工作过程如图1 所示。
1. 2 数据采集流程
FPGA开发板外置CMOS摄像头每隔10 分钟拍摄一张照片,并将拍摄到图像数据采用并行I/O口的方式传输到SDRAM高速存储器中,SDRAM存储器采用FIFO先进先出的方式对数据缓冲存储图片信息,大大加快了数据采集处理数据的速度,系统采集过程如图2 所示。
1. 3 视频图像处理及显示流程
FPGA控制模块调用存储在SDRAM中的图像,边调用边存储,实现系统运行效率最大化,实时性最强,采用FIFO先进先出的方式确保了处理效果的最优化,提高工作效率,提高精确性。处理完成以后,按处理好的图像的先后顺序显示在外置的LCD显示屏上。
2 视频处理系统算法设计
2. 1 算法引出及比较
车牌识别系统是数字图像处理技术在智能交通方面的重要应用,是实现交通管理智能化的重要环节[5]。通过对车牌的自动识别,与事先建立好的数据库进行比对,得到相关车辆的信息,实现快速精准识别,减少人员工作量,提高交巡警的执法效率。
车牌识别有多种方法: 主要有利用梯度信息投影统计算法[1],车牌特征信息识别[2]等方法。但在实际应用中,这些方法并不能在道路的复杂情况下提取出显著的特征,容易导致特征维度较大,处理后的结果并不是最好的效果。
上述几种方法从不同角度出发都可以在一定程度上实现车牌识别的效果。虽然,梯度信息投影统计算法考虑了车牌的二值化后车牌对比度之间的差异,可以较好地实现对场景的清晰化复原。但是,在实际中,由于拍摄环境的复杂性以及硬件设备的局限性,往往无法从图像中获得适宜的环境系数以及场景中合适的对比度值,这给车牌识别带来很大的不确定性; 考虑到运算量以及算法复杂度,运行时间及编程复杂度程序可移植性,本文选取小波变换作分割算法[6]。
2. 2 算法推导
在进行车牌识别过程中一般分为图像预处理、车牌定位、车牌区域剪切( 识别车牌中蓝色区域的位置及大小) 、车牌区域识别( 车牌字符分割、字符识别) ,显示识别结果。
2. 2. 1 图像预处理及车牌定位
图像预处理阶段分别要对采集到的图像进行图像灰度化、Robert边缘检测算子、图像腐蚀、闭操作以及平滑图像轮廓等一系列处理,使其凸显出车牌位置,对车牌进行定位。
图像灰度化: Gray = G* 0. 587 + R* 0. 299 + B* 0. 114 将图像变为灰色图像方便下面的操作。
Robert边缘检测算子: 呈现出汽车的轮廓,利用局部差分检测比较陡峭的边缘。
图像腐蚀:使目标点增大,背景缩小,填充目标前景物体中的空洞形成区域。闭操作以及平滑图像轮廓等一系列处理为车牌区域定位,为车牌处理做铺垫。处理后的图像如图3。
2. 2. 2 车牌区域剪切
将整张图片区域内分为X方向与Y方向,先在Y方向上对每个像素进行分析,统计出满足条件的像素所在的行对应的个数确定出蓝色RGB的灰度范围。随后对Y方向上车牌区域进行确定,并对车牌区域进行上、下追溯直到知道车牌的上下边界,对得到的车牌区域进行倾角上辅助调整,即可得到Y方向上完整车牌区域。同理可得X方向上完整的车牌区域。随后利用剪切函数将车牌在X方向上从左边界到右边界,Y方向上的上边界到下边界剪切出来,得到完整的车牌图像。如图4 处理后截取的车牌图:
2. 2. 3 车牌区域检测识别
字符分割在汽车牌照识别中起到决定作用,它将定位好的车牌进行字符分割,再将分割好的字符进行识别。一个车牌通常由1 个汉字6 个字母或数字组成,为了提高字符识别的精确度,我们必须将7 个字符独立的分割出。在车牌区域分割,一般可分为阈值分割[7]、投影法分割[8]; 采用投影法的分割方法,上下扫描,可以得到车牌图像高度,然后左右扫描,找到第一个字符的重点,后继续左右扫描,一直到车牌全部扫描完毕,采用投影法编程较简单且精度高[8]。本文将采用更为稳定的阈值分割方法,先将分割出来的车牌进行灰度转换,二值化,进行均值滤波,以及膨胀和腐蚀,方便取字符时易于检测和标准模板的对比,最后以T = g_max - ( g_max - g_min) /3 的规则去阈值,其中g_max = max( max( b) ) ; g_min =min( min( b) ) ; 当长度大于阈值时,则认为有两个字符组成,需要进行切割。
字符切割之前应建立一套字符模板,分别由代表各省市的汉字,0 ~ 9、A ~ Z字母组成,将这些收集起来建立的文件夹就是一套字符模板。通过调整切割好的字符大小使之和模板大小一致来实现车牌对比识别的功能。如图5 车牌处理后的图片,如图6 车牌切割后与模板对比的图片。
3 结束语
随着数字图像识别技术在智能交通方面应用的不断加深,车牌识别技术将是实现交通管理高效化、智能化的重要技术之一。基于FPGA的车牌识别系统,具有高速、简洁、可移植性高、处理效果显著等特点,同时,能提升交巡警的工作效率,构建交通安全的和谐社会。因此,基于FPGA的车牌识别系统对缓解交通压力有一定的实用价值和广阔的应用前景。
参考文献
[1]刘长青,樊希平,汪胜辉,王先春.一种改进的车牌定位方法在车牌识别系统中的应用[J].湖南文理学院学报(自然科学版),2007,(4).
[2]汪峥嵘.基于车牌识别及车辆特征点匹配的套牌车识别[D].苏州:苏州大学,2013.
[3]杨进,金星,张帅.基于Altera软核处理器的双网卡路由选择[J].电子工程师,2005,(6).
[4]何振琦,李光明,张慧琳,李颀.高速图像采集系统的研究及FPGA实现[J].计算机应用,2010,(11).
[5]赵大伟,陈刚.基于TMS320C6446的车牌识别系统的研究与设计[J].微型电脑应用,2012,(7).
[6]薛茹,常岐海,吴宗胜.基于Gabor小波与HOG特征的目标检测方法[J].电视技术,2014,(7).
[7]凌家良,黄进江,林洪辉,黄荫权.车牌自动识别算法及基于Lab VIEW的设计实现[J].惠州学院学报,2014,(3).
基于图像的车牌识别 篇7
近些年来, 人们的生活质量有了显著的提升, 城市人口密度不断上升。尽管我国公路事业有了显著发展, 但是交通拥堵与交通事故仍时有发生, 采用人工管理模式已经难以满足当前交通安全与管制工作的实际需求, 汽车车牌识别成为重点待解决的难题之一。在世界各地的交通管理系统内, 车牌识别技术[1]都占有重要地位, 其为现代化交通管理的重要标志, 被广泛地应用到停车管理、称重管理、交通执法、公路收费与车辆检测中。基于车辆牌照识别的重要性, 因此, 选择车辆牌照识别作为研究课题。
1 车牌识别系统的设计
该系统由图像采集、图像预处理、车牌定位、字符分割、字符识别5大核心部位组成。在图像采集时需要借助摄像机来对行驶车辆进行拍摄;在图像预处理时则将拍摄到的图片进行多种预处理, 如滤波、灰度化、二值化等;由于拍摄汽车的时候所获得的是整个汽车的图片, 而关键部分则是车牌部分, 因此要从整个图片上对车牌部分进行定位;在字符分割的过程中需要将车牌图片上的各个字符逐个分割;字符分割结束后需要对这些字符加以识别。车牌识别系统结构如图1所示。
2 车牌识别
2.1 图像采集
图像采集为系统首要进行的环节, 照片的质量状况对后续的识别工作有直接影响, 因此, 使用精良的摄像设备非常有必要。另外, 摄像设备还需调节好摄像角度。随着科技水平的不断提高, 数码相机分辨率的不断提升, 相机的开关控制可借助红外传感器来实现, 所拍摄得到的图片则可借助串口通信来进行传输。采集结束之后, 运用量化技术把模拟图像转变为可以被计算机处理的数字模式。以如图2所示的汽车图片为例进行分析。
2.2 图像预处理
照片拍摄的好坏由很多因素决定, 如光学系统失真、系统噪声、曝光不当、相对运动等, 这些因素会导致图片上的字迹不清晰, 对最终的识别所有影响。因此, 应对照片进行一系列的处理, 如灰度化、二值化、滤波等预处理操作。
2.2.1 灰度化和二值化处理
为了减少信息量, 使系统运行速度加快, 首先要对原图进行灰度化。灰度值是R G B模型中R=G=B时的值, 在完成灰度化后, 图像的每个像素都会有对应的灰度值, 其范围为0~25 5。
在M A T L A B中用r g b 2g r a y () 函数将真彩色图像转化为灰度图, 这里对图片的灰度化没有具体的设定, 可以采用通用的灰度值公式:
阈值可由经验获取或通过算法生成, 具体的M A T L A B程序如下:
2.2.2 滤波处理
由于图像中不可避免的存在有噪声, 因此, 在M A T L A B内可以使用W i e n e r 2函数来对图像加以滤波, 其具体的程序格式为:W ie n e r 2 (I, [A, B], n o is e) , 其中, I所指的是输入的图像, [A, B]所代表的是卷积使用的领域大小, n o is e则表示噪声强度。
2.2.3 图像的边缘检测
边缘检测是在灰度化的图像中检测像素灰度有阶跃变化的像素集合[2]。对于车牌照的灰度图片来说就是车牌边框的。边缘检测的算法相当丰富, 比较实用的有R o b e r t算子、S o b e l算子、P r e w itt算子、K r is c h算子等, 选用R o b e r t算子作为车牌图像边缘检测算子, 在M a t l a b中用R o b e r t边缘算子得到的图像如图3所示。
R o b e r t边缘算子是一种利用局部差分算子寻找边缘的算子[3]。其计算公式如下:
2.3 车牌定位与分割
在排除边界干扰和噪音干扰后, 采用投影法[4]对车牌进行定位, 对图像逐次进行左边、下方的投影, 获得图像的边界, 再借助合理的长宽比例获得车牌图片, 从而完成车牌定位与分割处理。最终所得的车牌图像如图4所示。
2.4 字符归一化
由于分割后的字符大小和剪切出的牌照大小相关, 为了更好地匹配, 需要对字符进行归一化处理, 使其规格与字符模板统一, 方便逐一对比。并且, 需建好标准的模板字符库。车牌的字符模板是2 0×4 0像素的一类字符集合。它包括全国汽车车牌上的汉字、2 6位英文字母和0~9的数字三类模板。该类模板可用M A T L A B函数制作, 也可在网上下载, 建好标准的模板字符库。下载的部分模板二值图片如图5所示, 使用M A T L A B中的im r e s iz e涵数对其进行归一化处理。
2.5 字符识别
系统运用简单的模板匹配法进行字符的识别, 即将归一化的字符分别与字符库的字符进行比较识别。实践证明模板匹配法操作简单, 抗干扰能力强, 识别率高。在M A T L A B工具箱中可调用c o r r 2 () 函数进行字符识别, 得到的字符识别图像如图6所示。仿真结果如图7所示。
3 结语
采用灰度化和二值化法进行图像预处理, 使用R o b e r t边缘检测算法对车牌加以定位, 借助垂直投影法分割各个字符, 使用模板匹配法来依次对车牌字符进行识别, 仿真结果表明, 设计的车牌识别算法可有效地实现车牌识别。
参考文献
[1]林蔚天.图像处理与汽车牌照识别[J].山东理工大学学报, 2007, 11 (6) :46-48
[2]李莹, 高满屯.基于边缘颜色信息的车牌定位算法[J].计算机仿真, 2009 (8) :262-265
[3]孙瑾, 顾宏斌.基于方向信息的抗干扰性边缘检测算法研究[J].小型微型计算机系统, 2006, 27 (07) :1358-1361
【基于图像的车牌识别】推荐阅读:
车牌图像识别06-08
基于区域的图像检索06-13
基于深度图像的绘制07-09
基于图像视知觉的小学美术有效教学策略10-27
基于图像位移的低轨卫星自主导航技术07-30
语音图像识别05-21
图像模糊识别06-28
图像模式识别08-09
数字图像识别09-19
CCD图像识别05-31