一种简易车牌识别算法及其实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
足大于 T 的情况,可视此区域为车牌区域。车牌区域上下界可
采用式 L(t≥T)≥α 来约束,L 为满足条件的连续扫描行数,t
为当前扫描行的灰度跳变次数,α 为经验值,这里根据图片的
大小取 30。在确认扫描已经进入车牌区域后,继续扫描搜寻跳
变次数大于 T=25 的行直至其不满足条件为止。经过上述行扫
描后即可确定候选车牌区域的上下边界。
通过上述个步骤就完成了车牌的识别工作。 4.总 结
本文在现有的数字图像分析、模式识别的基础上,综合车 辆牌照自身的特点,提出了一套简单快速的汽车牌照识别算 法,并采用 Matlab 语言对该算法进行了实现与验证,车牌提取 结果比较理想。
参考文献: [1] 冈 萨 雷 斯 等 著.阮 秋 琦 等 译 ,数 字 图 像 处 理 (第 二 版 )[M]. 北 京 :电
子 工 业 出 版 社 ,2007. [2] 田 村 秀 行 等 著.金 喜 子 乔 双 等 译.计 算 机 图 像 处 理[M]. 北 京 :科 学
出 版 社 ,2004.
- 52 -
[3] 黄 卫 等.基 于 小 波 与 纹 理 分 析 的 汽 车 牌 照 定 位 [J].中 国 工 程 科 学, 2004,6(3):16-22.
如何将图像分成两级,关键看阈值的选取,要找到合适的
阈值 k 来区分对象和背景,大于等于阈值 k 的设置为 1,表示前
景,即对象图形;而小于阈值的设置为 0,表示背景。设原灰度图
像为 f(x,y),二值化后的图像为 g(x,y),二值化过程表示如下:
!1,f(x,y)>=k
g(x,y)= 0,f(x,y)<k
图 4 边缘提取效果图 然后我们采用水平扫描方式确定车牌的横向水平不分, 截取有限部分,放弃无效的干扰部分,最后的截取图像如图 5 所示。
图 5 水平提取出的车牌区域 再在图 5 的基础上采用垂直扫描技术,对图像进行截取, 去掉车牌两头的干扰信息,保留有效部分,截取后的结果如图 6 所示。
图 11 车牌识别结果
本文提出的这套车牌识别算法主要由车辆尾部图像预处
理、车牌定位、车牌字符分割、车牌字符识别等几部分组成,现
对各部分分别简述如下:
(1)车尾图像预处理
车位图像与处理包括:图像灰度化、图像增强、图像二值
化等。
①图像的灰度化主要是针对彩色图像而言,彩色图像的
灰度化有各种不同的算法,一种简单的处理方法就是给原图
的值的像素分成两组,设为组 (i i=1,2)的像素数为 ωi,平均灰 度值为 Mi,方差为 σ2,若设全体像素的平均灰度值为 MT,则组 内方差可用式(2-3)来表示。
σw2=
ω1σ12+ω2σ22 ω1+ω2
而组间方差可用式(2-4)来表示。
(2-3)
σB2=
ω1(M1-MT)2+ω2(M2-MT)2 ω1+ω2
(2-2)
在二值化中,阈值 k 的选择是关键。本文采用了一种常用
的二值化方法 -- 判别分析法,对车牌的灰度图像进行二值化
处理。判别分析法将图像直方图中的灰度值的分布用阈值 k
分成两组(k 为分界点),分离性的尺度采用两组的平均值的方
差(组间方差)与各组的方差(组内方差)之比(判别比),求得
这个判别比的最大值 kmax 该值就取为阈值 k[2]。 设阈值为 k,并把具有 k 以上灰度值的像素和具有比它小
规整时,对字符图像的某些缺损、污迹等干扰不敏感,识别率
较高。
模板匹配算法类似于模式识别的方法,通过计算待测图
片与模板图片的互相关系数,根据互相关系数的大小来判断
待测图片与模板图片的相似程度,最终确定待测字符。
互相关系数是根据(2-11)式的平方欧氏距离度量得到的:
ΣΣ d2f,t(u,v)=
[f(x,y)-t(x-u,y-v)]2
根据前述算法,我们第一步对图像进行预处理,先将彩色 图像进行灰度化,效果如图 1 所示。
图 6 车牌定位
图 1 24 位彩色图像转换成灰度图像
根据边缘检车的结果,可以同步得到二值图的车牌定位 图像,如图 7 所示。根据车牌定位后的二值图,我们就可以进 行字符分割了,分割方法是根据车牌二值图的垂直投影积分 进行判别的,如图 8 所示。
阈值 k。最后以该阈值对车牌的灰度图像进行二值化,获得纯
黑白图像。
(2)车牌定位部分
车牌定位主要工作包括:对上述得到的二值图像进行边
缘特征提取,然后对特征图像进行水平扫描和垂直扫描,最终
获得车牌图像所在位置,为后续的车牌字符分割做准备。
本文采用一种通过差分提取图像边缘的简易算法[5],此方
法通过一个处理函数对二值化的图像提取边缘特征,该处理
的选取可以通过实验设定。
(4)车牌字符识别部分
我们在这里采用模板匹配算法来进行字符识别。模板匹
配算法的前提是先要建立字符模板库,模板库越充分越好。其
次将分割后的字符进行归一化,使其尺寸缩放为与模板库中
的字符大小一致,然后与所有模板进行匹配。最后选取最佳匹
配作为结果。
首先确定字符的外围边框,去掉分割出来的字符的上下
然后我们再对上述灰度图像进行直方图均衡,突出有用 的细节,增强效果。处理结果如图 2 所示。为了提高计算机 的处理速度,减少处理器开销,我们再将上述灰度图像进行二 值化,变成纯黑白图像,便于下一步处理,转换结果如图 3 所 示。
图 7 二值图的车牌定位
图 8 分割判断
车牌被精确分割后如图 9 所示,分割后的字符先进行归 一化处理,结果如图 10 所示。
学术探讨 应用技术与研究
一种简易车牌识别算法及其实现
肖建良 邱雨蒙
(大连理工大学城市学院,辽宁 大连 116600)
[摘 要] 车牌识别在智能交通及停车场管理中有着非常重要的作用。 车牌识别与处理的速度直接影响到其应用场合,尤 其在高速公路的快速抓拍中,对处理速度要求更高。 本文避免采用复杂的图像处理算法,而改用常规图像处理技术加模版匹配 算 法 ,提 出 了 一 套 简 易 快 捷 的 车 牌 识 别 算 法 ,能 大 大 提 高 车 牌 的 识 别 处 理 速 度 ,特 别 适 合 于 需 要 快 速 识 别 车 牌 的 场 合 。 本 文 最 后 采 用 MATLAB 语 言 对 该 算 法 进 行 了 实 现 与 验 证 。
行逐行扫描,每一行的灰度由白到黑或由黑到白都记为一次
灰度跳变。令 m 表示灰度跳变次数,对于任一扫描行,黑白灰
度跳变一次则 m 加一,当本行扫描结束后 m 的值即为本行灰
度跳变次数。每一行跳变次数计算公式如下:
n
m=Σ|G(i)-G(i-1)| i=2
(2-8)
式(2-8)中 n 为特征图像的列数,g(i)为特征图像的任一扫
作者简介: 肖建良,男,广东河源人,硕士,副教授。 主要研究方向:计算机应用技术。
- 50 -
函数如式(2-7)所示:
1,|F(i,j)-F(i,j+1)|≠0‖|F(i,j)-F(i+1,j)|≠0
G(i,j)=
(2-7)
0,
F(i,j)为原二值图像,G(i,j)为处理后得到的特征图像。
车牌定位方法多种,如:基于小波与纹理分析的汽车牌照
[4] 左奇等. 一种基于数学形态学的实时车牌图象分割方法[J].中 国 图 像图形学报(A 版),2003, 8(3):281-285.
经过上述水平扫描后,我们大致已经确定了车牌的水平
区域,将该区域提取出来后会发现车牌两边还有不少区域不
属于车牌部分。为此,下面我们再通过垂直积分投影的方式来
确定车牌的垂直区域部分。
垂直积分投影的计算公式如(2-9)所示:
P(j)=ΣG(i,j) i
(2-9)
根据计算结果我们可以看出车牌字符区域的投影呈现的
图 2 直方图均匀后图像
图 3 二值化结果
经过上述几步就完成了图像的与处理工作做,下面我们 再进行车牌定位。首先根据形态学知识,对图像进行边缘提 取,效果如图 4 所示。
图 9 车牌字符精确分割
图 10 归一化后的字符
将归一化后的图像再跟模板库里的标准字符图像进行比 较,最终获得车牌的准确号码,我们将识别结果用红色标注在 原车牌图像的上面,如图 11 所示。
是等间隔的有值区域,第二和第三个字符间距较大一点,通常
是因为其间有一个分隔符的缘故,这个分隔符大约占半个字
符的宽度。同时我们还可以看到每个字符区段的长度基本相
同,这与车牌上各字符宽度基本相同且等间距排列的情况相
似。而两头车牌边缘的投影值宽度要远小于车牌字符投影的
宽度,由此我们可以根据其投影的具体像素区间,对车牌的整
xy
(2-11)
通过上述公式算出互相关系数后,根据相似程度我们就
可以最终输出车牌号码了。
3.算 法 实 现
下面,我们采用 Matlab 语言实现上述算法,并以一张具体 的车辆尾部图像来识别其中的车牌号码,验证算法的有效性。 在 MATLAB 实现方面,国内已有很多成功的尝试[6,7]。
- 51 -
学术探讨 应用技术与研究
描行。
我国的车牌区域一般包括 7 个字符,根据上式可知扫描
一个字符至少会出现 4 次跳变,7 个字符至少会出现 28 次跳
变,据此可设定一个跳变阈值 T,考虑到实际情况,譬如车牌质
量太差或字符断开等原因,特别是车牌有倾斜的情况,设置的
阈值 T 可稍小一点,通常设定 T=25 左右就比较理想。在扫描
过程中如果一段区域内出现了连续的扫描行灰度跳变次数满
左右无用的黑边,使字符外围边框达到最小。再按比例对字符
图像进行线性放大(缩小)到指定大小的点阵。假定归一化后
的某象素点(m,n),在原图像中的坐标如下式:
x=m*
X M
y=n*
Y N
(2-10)
式(2-10)中,原图大小为 X*Y,而大小归一化后的图像大
小为 M*N。
模板匹配算法实现简单。当字符图像较清晰,整体字符较
在车牌二值化图像中,一般字符部分是白色,其它部分是
黑色,这里使用垂直投影法逐个统计每列中所包含的白色像
素的数量,在各个字符的间隙处的列白色像素很少,甚至为 0,
为了保险起见,避免某些噪声干扰,我们可以设定某一个阈值
m,白色像素积分值大于等于 m 就表示字符部分,而小于 m 的
就表示为字符间距,这样就可以准确切割出每一个字符。m 值
像每一像素的 RGB 三原色赋予不同的权值,然后进行加权求
和,作为该像素新的灰度值。权值的考虑主要是基于具有相同
灰度值的不同原色对视觉亮度的反应不同,通常按照比例公
式(2-1)求得新灰度值:
g=0.299R+0.587G+0.114B
(2-1)
计算而得的这个值 g 作为三原色合成出来的一个新灰度
值,从而形成一幅具有不同灰度等级的新图像。
应用技术与研究 学术探讨
体宽度进行切割,精确定位出车牌的位置图像。
经上述水平和垂直两个方向切割后的图像区域基本上就
是车牌的实际区域了,为下一步的字符分割做好了准备。
(3)车牌字符分割部分
本文采取一种基于垂直积分投影的字符分割方法,根据
车牌中字符投影分布特性并结合我国车牌的一些先验知识,
分割车牌字符。
②图像增强部分所做的工作主要是采用直方图对图像进
来自百度文库
行均衡,突出细节,便于后续处理。为了使图像清晰,可将图像
的灰度范围拉开,并且让灰度频率较小的灰度级变大,即让灰
度直方图在较大的动态范围内趋于一致[1],具体算法可参考文
献[1]。
③最后还需要对图像进行二值化,把图像变成只有黑和
白两种颜色,降低计算机处理开销。
[关键词] 图像处理;车牌识别;字符分割;模板匹配
1.引 言
车牌识别是智能交通的基础性工作,它采用计算机图像 处理技术,对现场采集到的车辆图像信息进行数学处理,从中 提取车牌信息从而确认车辆身份。车牌识别技术在智能交通 管理、停车场管理、电子收费站、汽车流量观测等方面能起到 很好的作用。
2.算 法 描 述
定位方法[3],基于数学形态学的实时车牌图象分割方法等[4],这
些算法都比较复杂费时费事。本文采用水平扫描和垂直扫描
进行车牌定位的方法,处理方法简单快捷。由于车牌区域存在
字符和汉字,并且分布紧凑而有规律,因此车牌区域的灰度变
化非常剧烈,这是车牌区域的最主要的特征,在获得的特征图
像中这一特征会进一步放大。为此,对提取出来的特征图像进
=
ω1ω2(M1-M2)2 (ω1+ω2)2
(2-4)
进一步地,若全体像素的灰度值的方差为 σT2,则因下式
σT2=σW2+σB2
(2-5)
成立,因而判别比为
σB2 σW2
=
σB2 σT2-σB2
(2-6)
在式(2-2)中先取较小的 k 值进行试算,然后逐渐增加 k
值,经过多次循环后求得最大的判别比后其对应的 k 值即为