一种车牌图像提取方法与流程

文档序号:12601619阅读:677来源:国知局
一种车牌图像提取方法与流程

本发明涉及一种车牌图像提取方法,属于车牌自动识别领域。



背景技术:

随着国民经济的迅速发展,人们的生活水平不断的提高,汽车开始进入千家万户。越来越多的汽车在给人类生活带来便利的同时,也给城市的交通带来不便,特别是交通事故的发生给许多家庭带来极大的不幸。所以在汽车与日俱增的今天交通管理也显得越来越重要。车牌图像的提取属于智能交通的一部分,它的实现可以有效的提高交通管理的效率,使得车辆的行驶规范化,这样就可以提高车辆的行驶效率以及驾驶的安全性。

目前提取车牌图像的主要方法有:1)利用车牌的自身颜色和纹理特征来提取车牌图像;2)利用数学形态学运算对目标区域进行计算和判断,给车牌予以准确的定位;3)利用人工神经网络智能识别方式对车牌进行准确定位。利用颜色特征的提取方法容易受光照等环境变化的影响,利用纹理特征的提取方法需要进行滤波、图像增强和边缘检查等一系列的图像预处理过程,利用数学形态学的提取方法需要进行腐蚀、膨胀以及图像的开运算和闭运算等数学处理。采用上述这些方法提取车牌图像需要进行十分复杂的运算,而在提取到车牌图像后还需要进行图像分割,然后才能利用模板匹配法识别出车牌字符。

将车牌图像中字符的分割与车牌图像的提取合而为一,利用分割出来的字符确定车牌图像,不仅可以简化车牌识别的程序,也避免了其它方法需要进行的复杂的图像预处理过程。



技术实现要素:

公开了一种称为滚雪球式字符搜索方法,对于二值图像,该方法从车牌字符区域的一个像素点开始,可以像滚雪球那样,逐步找到整个字符。

车牌图像的提取方法是首先将车辆图像二值化,利用滚雪球式字符搜索方法判断车牌字符是否为白色,在不是白色的情况下进行反色处理。

利用垂直边缘的水平投影和水平边缘的竖直投影的最大值,确定车牌图像中的一个点,由此利用滚雪球式字符搜索方法,可以逐步找到字符区域上、下、右三条边界线,根据已找到字符的尺寸以及车牌上字符的分布特性,通过逐列搜索又可以找到字符区域的左边界。

附图说明

图1是车牌字符排列示意图;图2利用是利用滚雪球式字符搜索方法找到的包含单个字符的区域。

具体实施方式

如图1所示,车牌共排布了8个字符,第一个字符为中文汉字,第二个字符为大写英文字母,第三个字符为圆点间隔符,后面的五个字符为阿拉伯数字和大写英文字母。字符间隔12mm,除圆点间隔符的宽度10mm外,其余字符宽度均为45mm。字符颜色有四种,即蓝底白字、黑底白字和黄底黑字、白底黑字。

将车辆图像二值化,以M×N矩阵A表示车辆图像二值化后的像素值矩阵,其中M和N分别为矩阵A的行数和列数。蓝底和黑底车牌在进行了二值化以后,字符区域的像素值为1,其它区域像素值为0,而黄底和白底车牌则刚好相反,但只要能识别字符的像素值是否为1,在字符像素值不为1时进行反色处理,即可得到字符像素值为1的图像。因此只需考虑字符像素值识别及字符像素值为1时车牌图像的提取问题。

以A(i:j,:)和A(:,i:j)分别表示A的第i行到第j行和第i列到第j列构成的矩阵,则车辆图像水平边缘和竖直边缘的像素值矩阵分别为

abs(A(1:M-1,:)-A(2:M,:))

abs(A(:,1:N-1)-A(;,2:N))

其中abs(·)表示对矩阵中的各元素取绝对值的运算。因此

(U(1),U(2),…,U(N))=ones(1,M-1)×abs(A(1:M-1,:)-A(2:M,:))

(V(1),V(2),…,V(M))T=abs(A(:,1:N-1)-A(;,2:N))×ones(N-1,1)

分别是可用于衡量A各列水平边缘和各行竖直边缘数量的两个向量,其中ones(i,j)表示元素均为1的i行j列的矩阵,“T”表示转置矩阵。由于车牌所在的区域水平边缘和竖直边缘都比较集中,因此记

U(l)=max(U(1),U(2),…,U(N))

V(h)=max(V(1),V(2),…,V(M))

其中1≤l≤N,1≤h≤M,则图像中位于第h行、第l列的像素必落在车牌图像所在区域内。

若A(h,l)≠1,沿第h行向右移动,直到第l1列满足A(h,l1)=1。记h1=h,则(l1,h1)是被找到的第一个字符区域内的像素点。从这一点开开始,采用如下的滚雪球式字符搜索方法:

以s1、x1、z1、y1分别表示由像素点(l1,h1)向上、下、左、右移动的行数和列数。置s1=x1=z1=y1=1,进行下面的数组检查:

若数组A(h1-s1,l1-z1:l1+y1)中有“1”,s1的值加1;

若数组A(h1+x1,l1-z1:l1+y1)中有“1”,x1的值加1;

若数组A(h1-s1:h1+x1,l1-z1)中有“1”,z1的值加1;

若数组A(h1-s1:h1+x1,l1+y1)中有“1”,y1的值加1。

重复上述过程直到s1、x1、z1、y1的值再无变化为止。此时,以像素点(l1-z1,h1-s1)、(l1+y1,h1-s1)、(l1-z1,h1+x1)、(l1+y1,h1+x1)为顶点的矩形黑边区域包含了像素点(l1,h1)。

根据照相机的分辨率以及车辆和照相机之间可能的最短距离,确定车牌单个字符所占像素列数的最大值Lmax,要求被提取车牌图像的列数大于Lmax;当车牌背景为白色时,利用滚雪球式字符搜索方法找到的是车牌背景区域,只要将区域列数与Lmax比较即可发现白色不是字符颜色,因此需要反色处理。

当字符颜色为白色时,以像素点(l1-z1,h1-s1)、(l1+y1,h1-s1)、(l1-z1,h1+x1)、(l1+y1,h1+x1)为顶点的矩形黑边区域包含了以(l1,h1)为其像素点的一个字符。

以n表示像素点(l1,h1)右边的字符总数,对i=1,2,…,n,以(li,hi)表示第i个字符区域内首次被找到的像素点,si、xi、zi、yi分别表示由像素点(li,hi)向上、下、左、右移动的行数和列数,(li(s),hi(s))和(li(x),hi(x))分别表示第i个字符区域最上面和最下面的某一个像素点。

置其中E(·)表示取整函数,重复上述滚雪球式字符搜索过程,直到找到以像素点(ln-zn,hn-sn)、(ln+yn,hn-sn)、(ln-zn,hn+xn)、(ln+yn,hn+xn)为顶点、完全包含了白色字符的矩形黑边区域,以及第n个字符区域最上面和最下面的某一个像素点和由此可以得到包围车牌字符的两条直线:

<mrow> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>h</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mrow> <msubsup> <mi>l</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mrow> <mo>(</mo> <mi>l</mi> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> </mrow>

<mrow> <mi>h</mi> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>h</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mrow> <msubsup> <mi>l</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mrow> <mo>(</mo> <mi>l</mi> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> </mrow>

它们与第n个矩形区域右边界的延长线的两个焦点为(ln+yn,Hzs)和(ln+yn,Hzx),其中

<mrow> <msub> <mi>H</mi> <mrow> <mi>z</mi> <mi>s</mi> </mrow> </msub> <mo>=</mo> <mi>E</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msubsup> <mi>h</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mrow> <msubsup> <mi>l</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mo>(</mo> <mrow> <msub> <mi>l</mi> <mi>n</mi> </msub> <mo>+</mo> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mo>)</mo> <mo>+</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>H</mi> <mrow> <mi>z</mi> <mi>x</mi> </mrow> </msub> <mo>=</mo> <mi>E</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msubsup> <mi>h</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mrow> <msubsup> <mi>l</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mo>(</mo> <mrow> <msub> <mi>l</mi> <mi>n</mi> </msub> <mo>+</mo> <msub> <mi>y</mi> <mi>n</mi> </msub> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mo>)</mo> <mo>+</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow>

找到第n个字符的区域后,依照上述方法沿第向右移动,也许仍可以找到像素值为1的像素点,但由此利用滚雪球式字符搜索方法找到的区域D不可能既在行数又在列数上接近第一个字符区域;以hD和lD分别表示区域D的像素行数和列数,则当不等式hD<0.5h1、hD>1.5h1、lD<0.5l1和lD>1.5l1中有一个成立时就可以断定第n个字符区域右边再无车牌字符。

记由于除圆点间隔符的宽度10mm,其余字符宽度均为45mm,字符间隔12mm,因此整个车牌字符部分的宽度为(45+12)×7+10=9.0889×45,即图像字符部分的列数至少为9lmax列。从第ln+yn列开始,车牌字符部分至少可向左延长到第ln+yn-E(9lmax)。

Lz=ln+yn-E(9lmax)

<mrow> <msub> <mi>H</mi> <mrow> <mi>r</mi> <mi>s</mi> </mrow> </msub> <mo>=</mo> <mi>E</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msubsup> <mi>h</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mrow> <msubsup> <mi>l</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mo>(</mo> <mrow> <msub> <mi>L</mi> <mi>z</mi> </msub> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mo>)</mo> <mo>+</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>H</mi> <mrow> <mi>r</mi> <mi>x</mi> </mrow> </msub> <mo>=</mo> <mi>E</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msubsup> <mi>h</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mrow> <msubsup> <mi>l</mi> <mi>n</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mfrac> <mo>(</mo> <mrow> <msub> <mi>L</mi> <mi>z</mi> </msub> <mo>-</mo> <msubsup> <mi>l</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> </mrow> <mo>)</mo> <mo>+</mo> <msubsup> <mi>h</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow>

若数组A(H:Hx,Lz)中有“1”,Lz的值减1,重复上述过程直到数组A(Hs:Hx,Lz)中全部为0。此时车牌图像位于以(ln+yn,Hzs)、(ln+yn,Hzx)、(Lz,Hrs)和(Lz,Hrx)为顶点的平行四边形之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1