基于小波变换和雷登变换的车牌提取方法

文档序号:6519530阅读:142来源:国知局
专利名称:基于小波变换和雷登变换的车牌提取方法
技术领域
本发明属于智能交通技术领域,特别涉及车牌识别技术中的复杂背景中的车牌提取方法。
背景技术
智能交通系统是目前世界交通运输领域的前沿研究课题,发达国家提出并执行了一系列研究计划,其核心是针对日益严重的交通需求和环境保护压力,采用信息技术、通信技术、计算机技术、控制技术等对传统交通运输系统进行深入的改造,以提高系统资源的使用效率、系统安全性,减少资源的消耗和环境污染,在此方面我国也不例外。智能交通系统中的车牌识别技术主要实现对行驶车辆牌照进行自动识别,从而完成自动收费,无人停车管理,重要路口的交通管制以及违章车辆的追踪等等功能,以此来节省了人力、资金,同时提高交通管理的效率。如今,随着计算机性能的提高和图像处理技术的发展,车牌识别系统已经日趋成熟。详见文献Da-Shan Gao,Jie Zhou,Car license plates detection from complexscene,Signal Processing Proceedings,5th International Conference,21-25 Aug.2000和文献Shyang-Lih Chang,Li-Shien Chen,YunChung Chung,Sei-Wan Chen,Automatic license platerecognition,Intelligent Transportation Systems,IEEE Transactions on,March 2004所述。
在车牌识别系统中,车牌提取是一项关键技术,其目的就是从一幅复杂背景的数字图像中分割出车牌图像,要求具有较高的识别率和较强的环境适应性。但是由于车牌背景的复杂性与车牌特征的多样性,迄今为止,仍没有一个完全通用的智能化车牌定位方法。大多数定位方法局限于某个侧面问题的解决,如牌照的倾斜、光照的干扰、噪声的影响等,离实际应用尚有比较大的距离。因此,如何把现有的研究成果结合起来,同时考虑到现有设备的工作能力,使我们的车牌识别系统具有良好的性能和识别速度是我们当前研究的方向。详见文献Zhi-Bin Huang,Yan-Feng Guo,Classifier fusion-based vehicle license plate detectionalgorithm,Machine Learning and Cybernetics,2003 International Conference on,2-5 Nov.2003和文献Yoshimori,S.Mitsukura,Y.Fukumi,M.Akamatsu,N.Khosal,R.License plate detection system in rainydays,Computational Intelligence in Robotics and Automation.,16-20 July 2003。
而基于小波变换和雷登变换(简称Radon变换)的车牌提取方法,有可能解决这个问题,因为车牌区域在整幅图像中的高频信息明显且集中,采用小波变换可以有效的提取并且突出这些高频信息,但此时被提取的车牌还包含有车牌边框,车牌边框的存在将会加大后续的车牌字符分割和识别的难度,为使后续的字符分割和识别处理的难度能在最大程度上降到最低,对采用小波变换后所定位出的车牌图像进行雷登变换,可以把车牌的四个边框定位出来,从而把四个边框删除,只留下可识别的字符区域,使得后续的字符分割和识别变得相对容易。
其中,所谓的小波指的是基于一些称为小波的小型波,具有变化的频率和有限的持续时间,而小波变换即是指把这些小型波和待处理的信号进行一些数学运算。雷登变换是一种几何变换,对一幅图像的雷登变换的结果进行一系列数学判断便可检测图像中是否含有直线以及直线的位置。最后车牌指的是每辆车牌安装的用于标识车辆身份的号码,制作标准化,一般悬挂于车辆的前端或者后部。
现在通常使用的车牌提取的方法有①基于车牌的彩色特征进行车牌提取方法。它是通过提取车牌的不同于其他区域的特殊彩色特征来区别车牌区域和背景区域,从而提取出车牌。优点是充分利用了图像的彩色信息;缺点是速度较慢,对于那些色彩非常丰富的图像可能失效。详见文献Zhu Wei-gang;Hou Guo-jiang;Jia Xing;A study of locating vehicle license plate based on colorfeature and mathematical morphology.Signal Processing,26-30 Aug.2002。
②应用Hough变换进行车牌提取的方法。它是通过提取车牌边框的直线从而搜索到车牌位置的。其缺点是速度较慢,而且定位不准确,出现干扰区域多。详见文献K.M.Kim,B.J.Lee,K.Lyou.The automatic coefficient and Hough transform.Journal of Control,Automatic and System Engineering.3(5)511-519,1997.
③基于形态学算子的车牌提取方法。它是通过使用膨胀、腐蚀等操作对车牌的边缘特征进行增强,进而提取出车牌。其缺点是对那些边缘特征相对丰富的区域会找出相当多的干扰区域,从而影响车牌提取的效果。详见文献M.Shridhar,J.W.Miller.Recognition of license plate image,In Processings of International Conference on DocumentAnalysis and Recognition,17-20,1999.
车牌提取时上述三种方法都具备一个共同的特点这些方法都是针对一个特定的环境,且提取出的高频信息有限。一旦环境变化,其提取准确率就会发生较大的波动,使整个车牌识别系统的性能下降。因此缺乏对各种环境的适应性,方法鲁棒性不好。此处我们所说的环境指的是车牌原始图像采集的环境,不同的环境,比如说天气、时刻、车辆所处背景和车辆自身运动情况等等,采集的图像在分辨率和纹理特征等方面往往出现相当大的区别。高频信息指的是图像的局部细节特征,车牌区域的局部细节特征相对于其他区域更明显一些。

发明内容
本发明的任务是提供一种基于小波变换和雷登变换的车牌提取方法,采用本发明的方法,可以在普通环境中都能够有效、快速、准确地提取车牌,为车牌字符的准确识别奠定基础。所述的普通环境包括晴天、雨天,车牌水平、车牌倾斜,车辆静止、车辆运动,白天、夜晚等情况。
为了方便描述本发明地内容,首先在此作一个术语定义1.车牌每辆车中安装的用于标识车辆身份的长方形号码牌,号码牌有上下左右四个边框,边框内包含有7个字符,有统一的制作标准,一般悬挂于车辆的前端或者后部,不同用途的车辆的车牌标准是不一样的。
2.灰度图像图像中只包含了亮度信息而没有任何颜色信息的图像。
3.灰度判断一种判断当前所读取的图像是否属于真彩色图像的图像处理手段,此处专指对所拍摄到的车辆图像进行判断,判断依据为分析车辆图像矩阵的结构,若车辆图像矩阵包含三基色分量,则当前所读取得车辆图像属于真彩色图像,如若不然,则为灰度图像。
4.灰度转换一种把彩色图像转化为灰度图像的手段,利用公式f(i,j)=0.114*I(i,j,1)+0.587*I(i,j,2)+0.299*I(i,j,3)可以把一幅灰度图像转换为灰度图像,其中i表示图像的行坐标值,j表示图像的列坐标值,f(i,j)表示转换后的灰度图像中第i行第j列的象素的灰度值,I(i,j,1),I(i,j,2)和I(i,j,3)分别表示彩色图像中第i行第j列的象素的R,G,B分量的值。
5.垂直梯度为了突出原车辆图像的垂直细节信息,提取边缘,用每一行的后一个象素灰度值减去前一个象素的灰度值,得到垂直梯度值。计算公式为gV(i,j)=|f(i,j+1)-f(i,j)|,其中i表示图像的行坐标值,j表示图像的列坐标值,f(i,j)表示第i行第j列的象素的灰度值,f(i,j+1)表示第i行第j+1列的象素的灰度值,gV(i,j)表示相应的垂直梯度值。
6.梯度水平投影一种把二维空间中的图像灰度梯度值通过一个函数变换后转换到一维空间中的方法,该函数变换为TH(i)=Σj=1ngV(i,j),]]>其中gV(i,j)表示第i行第j列的垂直梯度值,n表示垂直梯度图像矩阵的总列数,TH(i)为第i行的投影值。
7.高斯滤波一种有名的平滑滤波方法,通过一个滤波函数变换对曲线进行滤波处理,可以使曲线更平滑,此处转指对梯度水平投影曲线进行滤波,滤波函数为TH′(i)=1k{TH(i)+Σj=1w[TH(i-j)h(j,σ)+TH(i+j)h(j,σ)]}.]]>其中TH′(i)是滤波后的梯度水平投影值,i的变化范围是从1到n,n代表图像的高度也即图像矩阵的总行数;w表示了平滑区域的宽度大小,此处取8;h(j,σ)=exp(-j22σ2)]]>是高斯函数,k=2Σj=1wh(j,σ)+1,]]>σ表示灰度图像的均方差,此处取0.05;TH(i)表示第i个梯度水平投影值,TH(i-j)表示第(i-j)个的梯度水平投影值TH(i+j)表示第(i+j)个梯度水平投影值。
8.小波变换此处专指对梯度水平投影曲线进行一维小波变换,从而从梯度水平投影曲线上提取有利于车牌定位的曲线特征。具体变换为,首先,构造一个高斯函数gs(x)=12πσexp(-x22σ2),]]>其中σ表示高斯函数的均方差,此处取0.5;然后,计算此高斯函数的一阶导数,并把该一阶导数作为小波函数;最后把此小波函数和梯度水平投影曲线进行数学卷积运算,从而得到一条小波变换曲线。
9.波峰曲线上的值的一种特征;在该处的曲线值比紧邻的前一个曲线值和紧邻的后一个曲线值都大。
10.波谷曲线上的值的一种特征;在该处的曲线值比紧邻的前一个曲线值和紧邻的后一个曲线值都小。
11.车牌候选区域一些在一幅图像中具有某些特征的区域,这些特征是,首先,它一个是具有一定尺寸大小的长方形或平行四边形,该长方形或平行四边形不能太大以至于占据了整个车辆图像,也不能太小以至于肉眼不可见,通常情况下是一个长440mm左右高140mm左右的长方形或平行四边形区域;其次,长方形内的区域必须有字符;最后,该长方形位于一个车辆图像中的中下部。正常情况下一幅车辆图像中的车牌是一个长方形,但可能在拍摄车辆图像的时由于各种原因而造成车牌区域变形为平行四边形。
12.水平雷登变换在水平方向进行雷登变换,雷登变换是一种几何变换,它可以用来探测图像中的直线,在一定的水平角度范围内进行雷登变换,然后利用变换结果即可探测出图像中水平方向的直线,此处专指用来探测粗切割出来的车牌图像中的上下边框。定义水平方向为0度,则在-5度到5度的范围内每隔1度对粗切割出来的车牌进行雷登变换,变换后将得到11条雷登变换曲线。
13.垂直雷登变换在垂直方向上进行雷登变换,此处专指用其来探测车牌图像中的左右边框,定义垂直方向为90度,在85度到95度的范围内每隔1度对已经删除上下边框的车牌进行雷登变换,变换后得到11条雷登变换曲线。
14.线状波峰形状呈现为一条线或宽度很窄的波峰,此处专指在车牌的水平和垂直雷登变换中的线状波峰,它对应于车牌图像中的一条直线。
15.灰度翻转对灰度图进行的变换,用255减去每一个灰度值即可,黑转化为白,白转化为黑。
本发明提供的一种新的基于小波分析和雷登变换的车牌提取方法,它包含下列步骤步骤1.将摄像装置安装于公路路口,收费站或者停车场的适当位置,在车辆进入摄像范围内后进行图像采集,得到含有车牌图像的原始图像;步骤2对步骤1中所得到的车辆原始图像进行灰度判断,若所拍摄到的车辆原始图像为灰度像,则不进行处理;若所拍摄到的车辆原始图像为真彩色图像,则对车辆原始图像进行灰度转换,得到一幅包含车牌的灰度图像;具体方法为采用公式f(i,j)=0.114*I(i,j,1)+0.587*I(i,j,2)+0.299*I(i,j,3)进行转换,其中i表示图像的行位置,j表示图像的列位置,f(i,j)表示转换后的灰度图像中第i行第j列的象素的灰度值,*是乘法运算符号,I(i,j,1),I(i,j,2)和I(i,j,3)分别表示彩色图像中第i行第j列的象素的R,G,B分量的值;步骤3.对步骤2中所得到的灰度图像进行垂直梯度计算,得到一个包含有车牌的车辆灰度图像的垂直灰度梯度图;具体方法为采用公式gV(i,j)=|f(i,j+1)-f(i,j)|进行垂直梯度计算,其中i表示图像的行坐标值,j表示图像的列坐标值,f(i,j)表示第i行第j列的象素的灰度值,f(i,j+1)表示第i行第j+1列的象素的灰度值,gV(i,j)表示第i行第j列的的垂直梯度值;步骤4.对步骤3中所得到的垂直灰度梯度图进行梯度水平投影,得到一个粗糙的梯度水平投影曲线;梯度水平投影的计算公式为TH(i)=Σj=1ngV(i,j),]]>其中gV(i,j)表示第i行第j列的垂直梯度值,n表示垂直梯度图像矩阵的总列数,TH(i)为第i行的投影值;步骤5对步骤4中所得到的粗糙的梯度水平投影曲线进行高斯滤波,得到一个平滑的梯度水平投影曲线;滤波方法为采用公式TH′(i)=1k{TH(i)+Σj=1w[TH(i-j)h(j,σ)+TH(i+j)h(j,σ)]}]]>进行滤波;其中TH′(i)是滤波后的梯度水平投影值,i的变化范围为从1到n,n代表车辆图像的高度;w表示了平滑区域的宽度大小,此处取8;h(j,σ)=exp(-j22σ2)]]>是高斯函数,k=2Σj=1wh(j,σ)+1,]]>σ表示灰度图像的均方差;TH(i)表示第i个梯度水平投影值,TH(i-j)表示第(i-j)个的梯度水平投影值,TH(i+j)表示第(i+j)个梯度水平投影值;步骤6对步骤5中所得到的平滑的梯度水平投影曲线进行小波变换,得到一个小波变换曲线;小波变换方法为首先,构造一个高斯函数gs(x)=12πσexp(-x22σ2),]]>其中x为高斯函数自变量,σ表示高斯函数的均方差,此处取0.5;然后,计算此高斯函数的一阶导数得到w(x)=-x2πσ3exp(-x22σ2),]]>把该一阶导数w(x)作为小波函数;最后把此小波函数和梯度水平投影曲线进行数学卷积运算,从而得到一条小波变换曲线;步骤7.对步骤6中所得到的小波变换曲线进行归一化处理,从而得到一条曲线值位于-1到0之间的曲线;具体方法为,首先,取得小波变换曲线最大值max和最小值min;然后,利用公式s′(x)=(s(x)-min)(max-min)+1]]>进行归一化,其中s(x)为归一化前的小波变换曲线值,x为曲线的坐标值,s′(x)为归一化处理后的小波变换的曲线值;步骤8.对步骤7中所得到的小波变换曲线进行梯度水平投影曲线扫描,得到两个较小的波谷值在小波变换曲线中的位置坐标;具体方法为从曲线的起点寻找波谷,同时记录下小的波谷值的位置坐标,如此搜寻直到曲线的终点;步骤9.利用步骤8中所得到的波谷位置坐标进行车牌粗定位运算,得到一个或两个车牌候选区域在包含有车牌的车辆图像中的位置坐标;具体方法为根据步骤8提供的曲线的较小的波谷值的位置坐标来搜索和此述的波谷紧邻的左右两个波峰的位置坐标,左边波峰的位置坐标对应的是车牌在包含有车牌的车辆图像矩阵中的上边界的横坐标,此处用top_boundary来表示车牌的上边界位置的横坐标,右边波峰的位置坐标对应的是车牌在包含有车牌的车辆图像中的下边界的横坐标,此处用bot_boundary来表示车牌的下边界位置的横坐标;步骤10利用步骤9中所得到的位置信息进行车牌粗切割处理,得到一个或两个车牌候选区域;具体方法为,首先,定义元素均为零的矩阵mask,mask的行数和列数分别与包含有车牌的车辆灰度图像矩阵的行数和列数一致;其次,把矩阵mask中位于第top_boundary行和bot_boundary行间的所有的列的元素全部置为1,其中top_boundary表示车牌在包含有车牌的车辆灰度图像中的上边界的横坐标值,bot_boundary表示车牌在车辆图像中的下边界的横坐标值;然后,把矩阵mask和车辆灰度图像矩阵中的具有相同坐标值的元素相乘,相乘后,车辆灰度图像矩阵中非车牌候选区域内的元素均为零,车牌候选区域内的元素值保持不变;最后,定义元素均为零的矩阵I_cut,矩阵I_cut的行数为bot_boundary-top_boundary,列数和车辆灰度图像矩阵的列数相等,把矩阵mask和车辆灰度图像矩阵相乘的结果矩阵中的非零元素赋给I_cut,矩阵I_cut就表示车牌候选区域;步骤11.对步骤10中所得到的车牌候选区域进行水平雷登变换,得到11条雷登变换曲线;具体处理为定义水平方向为0度,在-5度到5度的范围内每隔1度对粗切割出来的车牌进行雷登变换,变换后将得到11条雷登变换曲线;步骤12利用步骤11中的11条雷登变换曲线的宽度值确定出车牌的上下边框在车牌图像中的坐标值;具体方法为比较步骤12中所得到11条雷登变换曲线的宽度,宽度最小的雷登变换曲线所对应的变换角度就是车牌的倾斜角度记为R_hdegree,此时雷登变换曲线上的第一个波峰值大于一定值的线状波峰的坐标值对应于车牌上边框在车牌图像中的横坐标记为R_top,雷登变换曲线上的最后一个波峰值大于一定值的线状波峰的坐标值对应于车牌下边框在车牌图像中的纵坐标并记为R_bot;步骤13利用步骤12中得到的车牌倾斜角度和上下边框的坐标信息,校正车牌并删除车牌的上下边框;具体处理为首先,校正车牌,若车牌的倾斜角度R_hdegree不为零,则认为车牌是倾斜的,把车牌图像旋转-R_hdegree从而校正车牌;然后定义一个元素均为零的矩阵R_hmask,该矩阵的总列数和总行数分别等于矩阵I_cut的总列数和总行数,把矩阵R_hmask位于R_top和R_bot之间的元素置为一,把矩阵R_hmask和矩阵I_cut中具有相同坐标值的元素相乘得到一个相乘结果矩阵R_htbmask;最后,定义一个元素均为零的矩阵R_hcut,该矩阵的总行数为R_bot-R_top,总列数和矩阵R_htbmask的总列数相同,把矩阵R_htbmask中的非零元素赋给矩阵R_hcut,矩阵R_hcut就是已经删除车牌上下边框的车牌图像对应的图像矩阵;
步骤14.对步骤13中所得到的已经删除了车牌上下边框的图像矩阵进行垂直雷登变换,得到11条雷登变换曲线;具体处理为定义垂直方向为90度,在85度到95度的范围内每隔1度对已经删除上下边框的车牌进行雷登变换,变换后得到11条雷登变换曲线;步骤15利用步骤14中所得到11条雷登变换曲线的波峰值,确定出车牌的左右边框,具体方法为首先,找出宽度最小的一条雷登变换曲线;然后在此曲线上从左往右搜索一个波峰值大于一定值的线状波峰,此波峰的坐标值就是已经删除了车牌上下边框的车牌的左边框在该车牌图像矩阵中的纵坐标记为R_left,再从右往左搜索一个波峰值大于一定值的线状波峰,此波峰的坐标值就是已经删除了车牌上下边框的右边框在该车牌图像矩阵中的纵坐标记为R_right;步骤16利用步骤15中所得到的已经删除了上下边框的车牌的左右边框的坐标值,删除车牌的左右边框;具体方法为,首先,定义一个元素均为零的矩阵R_vmask,其总行数和总列数分别和矩阵R_hcut的总行数和总列数相等,把矩阵R_vmask位于第R_left列和R_right列内的元素置为1;然后把矩阵R_vmask和矩阵R_hcut中具有相同坐标值的元素相乘得到一个结果矩阵R_vlrmask;最后定义一个元素均为零的矩阵R_vcut,该矩阵的总列数为R_right-R_left,总行数和矩阵R_vlrmask的总行数相等,把矩阵R_vlrmask中的非零元素赋给R_vcut,矩阵R_vcut就是删除了上下左右四个边框的车牌图像矩阵;步骤17.对步骤16中所得到的准确的车牌图像进行车牌颜色归一化处理,得到一个包含有可识别号码的具有黑色背景和白色号码的车牌图像;具体方法为,首先,统计车牌区域内的白色像素数和黑色象素数;其次比较黑色象素数和白色像素数,如果白色象素数为多数,则进行灰度翻转;通过以上步骤,我们就从含有车牌的原始图像中提取出了车牌图像。
需要说明的是1.步骤3中的垂直梯度计算是因为车牌区域内的象素值要比非车牌区域的像素值变化快且集中,而且更明显的集中在垂直梯度方面。
2.步骤4中的梯度水平投影是因为车牌区域一定位于具有相当高的梯度密度值的小区域内,所以我们首先进行梯度水平投影从而定位车牌的水平候选区域。
3.步骤6中进行小波变换后,梯度水平投影曲线的值将全部变为负值,故曲线上原来的波峰经过小波变换后则变成了波谷,而曲线上原来的波谷经过小波变换后则变成了波峰,所以在搜索波峰波谷的时搜索小波变换后的曲线的波谷就相当于搜索小波变换前的曲线的波峰,类似的,搜索小波变换后的曲线的波峰就相当于搜索小波变换前的曲线的波谷。另外,在进行小波变换前的梯度水平投影曲线已经过一次高斯滤波处理了,此时的曲线已经比较光滑了,但经过小波变换后的梯度水平投影曲线更加光滑且去除掉了一些变换前曲线的虚假波峰波谷从而更加有利于后续的车牌定位处理,这也是采用小波变换的优势另一个优点。
4.步骤8中搜索波谷的时候并不是所有满足波谷条件的波谷均采纳,只把那些波谷值小于一定值且波谷宽度满足一定值范围时才认为是波谷,波谷所小于的一定值和波谷宽度所满足的一定值范围均为实验所得的经验值。在搜索中,只取波谷值最小的波谷和波谷值次小的波谷值,通常情况下波谷值最小的波谷对应的就是车牌区域,但有时候由于车辆图像背景中的强干扰而造成最小波谷值对应的区域并非车牌区域,而变成波谷值次小值的波谷对应的区域才是车牌区域,但若提取过多的波谷位置将会引入在后续的车牌切割处理中较多的车牌候选区域,加大处理难度,经过实验总结可知取波谷值最小的两个波谷是合理的。
5.步骤9中车牌粗定位运算中,在搜索与满足条件的波谷紧邻的左右两个波峰时只把那些满足一定值范围的波峰才认为是真波峰,由于曲线上的小起伏从而导致了假波峰的存在,真波峰所满足的一定值范围是通过实验得到的经验值。此外,粗定位运算中所得到的是车牌在包含有车牌的车辆图像中粗略位置,由于该步骤中是车牌的粗定位运算,故而有可能出现一个或两个车牌候选区域的位置坐标。
6.步骤12和15中线状波峰所大于的一定值是通过实验得到的经验值。
本发明首先对原始图像进行预处理,把真色彩图像转换为灰度图像;其次计算原始图像的垂直梯度并且根据垂直梯度的水平投影曲线的小波变换结果进行车牌粗定位,从而粗定位出一个或两个车牌候选区域。对粗定位出的车牌进行水平雷登变换,从而定位并删除车牌的上下边框,同时,如果车牌是倾斜的则加于校正;然后对已经删除了上下边框的车牌进行垂直雷登变换,从而定位并删除车牌的左右边框;最后对已经删除了四个边框的车牌区域进行颜色归一化处理,最终输出一幅只包含有可识别号码的车牌图像。本发明采用粗定位和精确定位相结合,在粗定位中采用小波变换的办法,在精确定位中采用雷登变换的办法,并在精确定位后进行亮度和颜色的归一化处理,最终得到了一个具有统一背景和号码颜色的包含有可识别号码的无车牌边框的车牌。采用本发明的车牌提取方法,可以在普通环境中都能够有效、快速、准确地提取车牌,为车牌字符的准确识别奠定基础。
本发明的创新之处在于1.利用小波变换粗定位车牌,小波变换具有提取信号中的高频特性的特点,利用小波变换对经过一次高斯滤波后的梯度垂直投影曲线进行处理,可以在最大程度上提取出曲线上的波峰波谷且对曲线有一定的平滑功能,从而可以快速准确的粗定位出车牌区域。
2.利用雷登变换精确定位车牌,因为利用小波变换只能粗定位出车牌,由于噪声和背景的干扰粗定位出的车牌中还包含有车牌边框和一些周边非车牌区域,同时还由于某些原因可能会使得车牌发生倾斜,这将会使后续的字符分割和识别的难度加大,所以利用雷登变换来检测和删除车牌的边框并纠正车牌使之处于水平位置,最终得到的是一个只包含有可识别号码的车牌图像。
3.提出了车牌粗定位和精确定位相结合的方法,以便提高方法的速度,满足车牌识别系统实时性的需要。首先利用原图像的垂直梯度图的垂直投影粗略提取出至多两个车牌候选区域,然后再对这些候选区域应用雷登变换方法精确定位出车牌。


图1是含有车牌的原始图像示意图;其中,标注1表示车辆的挡风玻璃,标注2表示车辆的引擎盖,标注3表示安装车灯,悬挂车牌和和保险杆的区域,标注4表示车牌,标注5表示轮子,在标注4所表示的车牌中,大写字母A,B,C,D,E,F和G分别代表车牌的第一个,第二个,第三个,第四个,第五个,第六个和第七个号码,其中第二个号码和第三个号码的间距要稍大些。
图2是本发明经过高斯滤波后的梯度垂直投影曲线;其中,纵坐标上的数值表示经过高斯滤波和归一化后梯度垂直投影曲线的值,横坐标上的数值表示经过高斯滤波核归一化后的梯度垂直投影曲线的坐标值。
图3是本发明经过小波变换的梯度垂直投影曲线其中,纵坐标上的数值表示经过小波变换和归一化后梯度垂直投影曲线的值,横坐标上的数值表示经过小波变换和归一化后的梯度垂直投影曲线的坐标值。
图4是本发明最终得到的车牌图像示意图;其中,A,B,C,D,E,F和G分别表示车牌的第一个,第二个,第三个,第四个,第五个,第六个和第七个号码。
图5是本发明的流程示意图
具体实施例方式采用本发明的方法,首先在高速公路的入口处,收费站和其他任何合适位置采用摄像装置自动拍摄车辆的原始图像;其次把拍摄到的车辆原始图像做为原数据输入到用Matlab语言编写的软件中进行自动处理,其间无需任何人工干预;最终得到一幅包含有可识别号码的车牌图像。共采用300张实地拍摄的彩色车辆图像做为原数据,粗定位出295张,定位准确率为98.33%,精确定位出285张,定位准确率为95%,定位一幅包含有可识别号码的车牌图像仅需40ms。
综上所述,利用本发明的方法可以快速准确的从所提供的车辆原始图像中定位出包含有可识别号码的车牌图像。
权利要求
1.一种基于小波分析和雷登变换的车牌提取方法,其特征是它包含下列步骤步骤1.将摄像装置安装于公路路口,收费站或者停车场的适当位置,在车辆进入摄像范围内后进行图像采集,得到含有车牌图像的原始图像;步骤2对步骤1中所得到的车辆原始图像进行灰度判断,若所拍摄到的车辆原始图像为灰度像,则不进行处理;若所拍摄到的车辆原始图像为真彩色图像,则对车辆原始图像进行灰度转换,得到一幅包含车牌的灰度图像;具体方法为采用公式f(i,j)=0.114*I(i,j,1)+0.587*I(i,j,2)+0.299*I(i,j,3)进行转换,其中i表示图像的行位置,j表示图像的列位置,f(i,j)表示转换后的灰度图像中第i行第j列的象素的灰度值,*是乘法运算符号,I(i,j,1),I(i,j,2)和I(i,j,3)分别表示彩色图像中第i行第j列的象素的R,G,B分量的值;步骤3.对步骤2中所得到的灰度图像进行垂直梯度计算,得到一个包含有车牌的车辆灰度图像的垂直灰度梯度图;具体方法为采用公式gV(i,j)=|f(i,j+1)-f(i,j)|进行垂直梯度计算,其中i表示图像的行坐标值,j表示图像的列坐标值,f(i,j)表示第i行第j列的象素的灰度值,f(i,j+1)表示第i行第j+1列的象素的灰度值,gV(i,j)表示第i行第j列的的垂直梯度值;步骤4.对步骤3中所得到的垂直灰度梯度图进行梯度水平投影,得到一个粗糙的梯度水平投影曲线;梯度水平投影的计算公式为TH(i)=Σj=1ngV(i,j),]]>其中gV(i,j)表示第i行第j列的垂直梯度值,n表示垂直梯度图像矩阵的总列数,TH(i)为第i行的投影值;步骤5对步骤4中所得到的粗糙的梯度水平投影曲线进行高斯滤波,得到一个平滑的梯度水平投影曲线;滤波方法为采用公式TH′(i)=1k{TH(i)+Σj=1w[TH(i-j)h(j,σ)+TH(i+j)h(j,σ)]}]]>进行滤波;其中TH′(i)是滤波后的梯度水平投影值,i的变化范围为从1到n,n代表车辆图像的高度;w表示了平滑区域的宽度大小,此处取8;h(j,σ)=exp(-j22σ2)]]>是高斯函数,k=2Σj=1wh(j,σ)+1,]]>σ表示灰度图像的均方差;TH(i)表示第i个梯度水平投影值,TH(i-j)表示第(i-j)个的梯度水平投影值,TH(i+j)表示第(i+j)个梯度水平投影值;步骤6对步骤5中所得到的平滑的梯度水平投影曲线进行小波变换,得到一个小波变换曲线;小波变换方法为首先,构造一个高斯函数gs(x)=12πσexp(-x22σ2),]]>其中x为高斯函数自变量,σ表示高斯函数的均方差,此处取0.5;然后,计算此高斯函数的一阶导数得到w(x)=-x2πσ3exp(-x22σ2),]]>把该一阶导数w(x)作为小波函数;最后把此小波函数和梯度水平投影曲线进行数学卷积运算,从而得到一条小波变换曲线;步骤7.对步骤6中所得到的小波变换曲线进行归一化处理,从而得到一条曲线值位于-1到0之间的曲线;具体方法为,首先,取得小波变换曲线最大值max和最小值min;然后,利用公式s′(x)=(s(x)-min)(max-min)+1]]>进行归一化,其中s(x)为归一化前的小波变换曲线值,x为曲线的坐标值,s′(x)为归一化处理后的小波变换的曲线值;步骤8.对步骤7中所得到的小波变换曲线进行梯度水平投影曲线扫描,得到两个较小的波谷值在小波变换曲线中的位置坐标;具体方法为从曲线的起点寻找波谷,同时记录下小的波谷值的位置坐标,如此搜寻直到曲线的终点;步骤9.利用步骤8中所得到的波谷位置坐标进行车牌粗定位运算,得到一个或两个车牌候选区域在包含有车牌的车辆图像中的位置坐标;具体方法为根据步骤8提供的曲线的较小的波谷值的位置坐标来搜索和此述的波谷紧邻的左右两个波峰的位置坐标,左边波峰的位置坐标对应的是车牌在包含有车牌的车辆图像矩阵中的上边界的横坐标,此处用top_boundary来表示车牌的上边界位置的横坐标,右边波峰的位置坐标对应的是车牌在包含有车牌的车辆图像中的下边界的横坐标,此处用bot_boundary来表示车牌的下边界位置的横坐标;步骤10利用步骤9中所得到的位置信息进行车牌粗切割处理,得到一个或两个车牌候选区域;具体方法为,首先,定义元素均为零的矩阵mask,mask的行数和列数分别与包含有车牌的车辆灰度图像矩阵的行数和列数一致;其次,把矩阵mask中位于第top_boundary行和bot_boundary行间的所有的列的元素全部置为1,其中top_boundary表示车牌在包含有车牌的车辆灰度图像中的上边界的横坐标值,bot_boundary表示车牌在车辆图像中的下边界的横坐标值;然后,把矩阵mask和车辆灰度图像矩阵中的具有相同坐标值的元素相乘,相乘后,车辆灰度图像矩阵中非车牌候选区域内的元素均为零,车牌候选区域内的元素值保持不变;最后,定义元素均为零的矩阵I_cut,矩阵I_cut的行数为bot_boundary-top_boundary,列数和车辆灰度图像矩阵的列数相等,把矩阵mask和车辆灰度图像矩阵相乘的结果矩阵中的非零元素赋给I_cut,矩阵I_cut就表示车牌候选区域;步骤11.对步骤10中所得到的车牌候选区域进行水平雷登变换,得到11条雷登变换曲线;具体处理为定义水平方向为0度,在-5度到5度的范围内每隔1度对粗切割出来的车牌进行雷登变换,变换后将得到11条雷登变换曲线;步骤12利用步骤11中的11条雷登变换曲线的宽度值确定出车牌的上下边框在车牌图像中的坐标值;具体方法为比较步骤12中所得到11条雷登变换曲线的宽度,宽度最小的雷登变换曲线所对应的变换角度就是车牌的倾斜角度记为R_hdegree,此时雷登变换曲线上的第一个波峰值大于一定值的线状波峰的坐标值对应于车牌上边框在车牌图像中的横坐标记为R_top,雷登变换曲线上的最后一个波峰值大于一定值的线状波峰的坐标值对应于车牌下边框在车牌图像中的纵坐标并记为R_bot;步骤13利用步骤12中得到的车牌倾斜角度和上下边框的坐标信息,校正车牌并删除车牌的上下边框;具体处理为首先,校正车牌,若车牌的倾斜角度R_hdegree不为零,则认为车牌是倾斜的,把车牌图像旋转-R_hdegree从而校正车牌;然后定义一个元素均为零的矩阵R_hmask,该矩阵的总列数和总行数分别等于矩阵I_cut的总列数和总行数,把矩阵R_hmask位于R_top和R_bot之间的元素置为一,把矩阵R_hmask和矩阵I_cut中具有相同坐标值的元素相乘得到一个相乘结果矩阵R_htbmask;最后,定义一个元素均为零的矩阵R_hcut,该矩阵的总行数为R_bot-R_top,总列数和矩阵R_htbmask的总列数相同,把矩阵R_htbmask中的非零元素赋给矩阵R_hcut,矩阵R_hcut就是已经删除车牌上下边框的车牌图像对应的图像矩阵;步骤14.对步骤13中所得到的已经删除了车牌上下边框的图像矩阵进行垂直雷登变换,得到11条雷登变换曲线;具体处理为定义垂直方向为90度,在85度到95度的范围内每隔1度对已经删除上下边框的车牌进行雷登变换,变换后得到11条雷登变换曲线;步骤15利用步骤14中所得到11条雷登变换曲线的波峰值,确定出车牌的左右边框,具体方法为首先,找出宽度最小的一条雷登变换曲线;然后在此曲线上从左往右搜索一个波峰值大于一定值的线状波峰,此波峰的坐标值就是已经删除了车牌上下边框的车牌的左边框在该车牌图像矩阵中的纵坐标记为R_left,再从右往左搜索一个波峰值大于一定值的线状波峰,此波峰的坐标值就是已经删除了车牌上下边框的右边框在该车牌图像矩阵中的纵坐标记为R_right;步骤16利用步骤15中所得到的已经删除了上下边框的车牌的左右边框的坐标值,删除车牌的左右边框;具体方法为,首先,定义一个元素均为零的矩阵R_vmask,其总行数和总列数分别和矩阵R_hcut的总行数和总列数相等,把矩阵R_vmask位于第R_left列和R_right列内的元素置为1;然后把矩阵R_vmask和矩阵R_hcut中具有相同坐标值的元素相乘得到一个结果矩阵R_vlrmask;最后定义一个元素均为零的矩阵R_vcut,该矩阵的总列数为R_right-R_left,总行数和矩阵R_vlrmask的总行数相等,把矩阵R_vlrmask中的非零元素赋给R_vcut,矩阵R_vcut就是删除了上下左右四个边框的车牌图像矩阵;步骤17.对步骤16中所得到的准确的车牌图像进行车牌颜色归一化处理,得到一个包含有可识别号码的具有黑色背景和白色号码的车牌图像;具体方法为,首先,统计车牌区域内的白色像素数和黑色象素数;其次比较黑色象素数和白色像素数,如果白色象素数为多数,则进行灰度翻转。
全文摘要
本发明提供的是一种基于小波变换和雷登变换的车牌提取方法,它首先把真色彩图像转换为灰度图像;其次计算原始图像的垂直梯度并且根据垂直梯度的水平投影曲线的小波变换结果进行车牌粗定位;对粗定位出的车牌进行水平雷登变换,定位并删除车牌的上下边框;对已经删除了上下边框的车牌进行垂直雷登变换,定位并删除车牌的左右边框;最后进行颜色归一化,得到了一个包含有可识别号码的无车牌边框的车牌。采用本发明的车牌提取方法,可以在普通环境中都能够有效、快速、准确地提取车牌,为车牌字符的准确识别奠定基础。
文档编号G06K9/20GK1932837SQ20051002165
公开日2007年3月21日 申请日期2005年9月12日 优先权日2005年9月12日
发明者马争, 杨京忠 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1