[发明专利]基于高帽变换和小波变换的车牌提取方法无效
申请号: | 200510021540.9 | 申请日: | 2005-08-26 |
公开(公告)号: | CN1920849A | 公开(公告)日: | 2007-02-28 |
发明(设计)人: | 马争;杨峰 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06K9/00 | 分类号: | G06K9/00;G06K9/80;G06K9/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610054四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供的是一种基于高帽变换和小波变换的车牌定位方法,采用水平定位和竖直定位相结合,首先采用高帽变换突出了车牌区域,实现了车牌的水平定位;然后通过小波变换对车牌区域进行特征提取,实现了车牌的竖直定位;最后根据得到的车牌水平位置和竖直位置信息,从原始图像中提取出车牌。采用本发明的车牌提取方法,不仅可以尽量多的提取车牌区域的高频信息,从而准确定位车牌,使方法的环境适应度大大提高;而且结合水平定位和竖直定位的方法也提高了方法的计算速度,满足了实时性的需要。 | ||
搜索关键词: | 基于 高帽 变换 车牌 提取 方法 | ||
【主权项】:
1、一种基于高帽变换和小波变换的车牌定位方法,其特征是它包含下列步骤:步骤1.通过安装于公路路口或者停车场的适当位置的摄像装置,对进入摄像范围内的车辆进行图像采集,得到含有车牌图像的原始图像;步骤2.采用灰度变换公式对原始图像进行灰度转换,得到一幅包含车牌的灰度图像;灰度转换公为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.计算灰度图像的水平一阶差分,得到一个包含有车牌的车辆灰度图像的水平一阶差分图;具体方法为采用公式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.对水平一阶差分图进行高帽变换,得到一个经过高帽变换后的水平一阶差分图;高帽变换的公式为HAT(A)=A-(AоB);其中A为水平一阶差分矩阵gV;B为结构元素,其值为各个元素都是1的3*3矩阵;开运算AоB=(AΘB)B;HAT(A)表示经过高帽变换后的水平一阶差分值gV';步骤5.对高帽变换后的水平一阶差分图进行水平投影,得到一阶差分的水平投影曲线;一阶差分的水平投影的计算公式为 其中gV'(i,j)表示经过高帽变换后的第i行第j列的水平一阶差分值,TH(i)为第i行的水平投影值,j的变化范围是从1到n,n代表图像的长度;步骤6.对步骤5中的一阶差分水平投影曲线进行高斯滤波,得到一个平滑的一阶差分水平投影曲线;在实际的方法中,采用离散高斯平滑方法对投影值进行平滑处理,具体方法如下 其中TH'(i)是滤波后的一阶差分水平投影值;i的变化范围是从1到n;n代表图像的长度;w表示平滑区域的宽度大小,此处取8; 是高斯函数; σ表示灰度图像的均方差;TH(i)表示第i个一阶差分水平投影值;TH(i-j)表示第(i-j)个一阶差分水平投影值;TH(i+j)表示第(i+j)个一阶差分水平投影值;步骤7.计算二值化的阀值;二值化阀值的计算公式为:T=t*aver;其中T为二值化的阀值;aver为经过高斯滤波后的一阶差分水平投影的均值;t为权值,取值范围在0.8~1.2之间,当t的值为1.1时二值化效果最佳;步骤8.利用步骤7计算得到的阀值对步骤6中经过高斯滤波后得到的一阶差分水平投影曲线进行二值化,得到一阶差分水平投影曲线的二值化图;二值化方法是:若一阶差分水平投影曲线上的值大于或等于阀值,就把该处的值设置为1,否则把该处的值设置为0;经过二值化,一阶差分水平投影曲线转化为由一系列0和1组成的序列;由连续的1组成的序列表示一阶差分水平投影值较大的区域;由连续的0组成的序列表示一阶差分水平投影值较小的区域;0到1或者1到0的跳变表示两种区域的边界,分别把0到1和1到0的跳变位置记录到堆栈stack1和stack2中;步骤9.利用二值化图进行车牌水平定位,确定车牌水平位置候选区域;在二值化图中连续的1组成的序列是车牌水平位置候选区域;stack1中的值为车牌水平位置候选区域的左边界,即车牌的上边界top;stack2中的值为车牌水平位置候选区域的右边界,即车牌的下边界bottom;length=stack2-stack1的值为车牌水平位置候选区域的宽度;剔除length的值大于100和小于6的伪车牌水平位置候选区域,剩下的区域为最终的车牌水平位置候选区域;步骤10.利用Mallat快速小波分解方法对车牌水平位置候选区域进行小波分解,得到车牌水平位置候选区域的四个子图像B、H、V和D;Mallat快速小波分解流程图见附图1;步骤11.利用步骤3提供的方法,计算H、V和D三个子图像的水平一阶差分,得到三个水平一阶差分图像;步骤12.把H、V和D三个子图像的水平一阶差分对应项分别相加,得到车牌的小波图像水平一阶差分总和;具体方法为采用公式Dif_I(i,j)=|H(i,j+1)-H(i,j)|+|V(i,j+1)-V(i,j)|+|D(i,j+1)-D(i,j)|进行水平一阶差分对应相加运算,其中H(i,j)表示H子图的第i行第j列的水平一阶差分值,H(i,j+1)表示H子图的第i行第j+1列的水平一阶差分值,V(i,j)表示V子图的第i行第j列的水平一阶差分值,V(i,j+1)表示V子图的第i行第j+1列的水平一阶差分值,D(i,j)表示D子图的第i行第j列的水平一阶差分值,D(i,j+1)表示D子图的第i行第j+1列的水平一阶差分值,Dif_I(i,j)表示第i行第j列的车牌的小波子图一阶差分总和;步骤13.计算小波子图一阶差分总和的整体密度和列密度;整体密度是指矩阵Dif_I中非零值的个数,其计算方法是:设置计数器counter,从上到下、从左到右扫描矩阵Dif_I,当遇到非零值时,把counter的值加1,扫描完毕时得到的counter中的值就是整体密度的值;列密度是指矩阵Dif_I中每一列的非零个数;矩阵Dif_I共有n列,n是图像的高度;列密度的计算方法是:设置n个计数器counter_1、counter_2、...、counter_n,counter_1用来计数矩阵Dif_I第一列的非零值个数,counter_2用来计数矩阵Dif_I第二列的非零值个数,依此类推,counter_n用来计数矩阵Dif_I第n列的非零值个数,从上到下扫描矩阵Dif_I中的每一列,当遇到非零值时,把相应列的计数器的值加1,扫描完毕时得到的各个计数器中的值就是各列的列密度;最后,设置一个1*n维的列密度矩阵pos来保存列密度的值;步骤14.确定列密度二值化的阀值,并二值化列密度;以0.2倍的整体密度为阀值对列密度矩阵pos进行二值化,二值化的方法为:列密度矩阵pos中大于或等于阀值的值被二值化为1,小于阀值的值被二值化为0;由此,列密度矩阵pos被二值化为由一系列0和1组成的序列;由连续的1组成的序列表示列密度较大的区域;由连续的0组成的序列表示列密度较小的区域;0到1或者1到0的跳变表示两种区域的边界,分别把0到1和1到0的跳变位置记录到堆栈stack3和stack4中;步骤15.进行车牌竖直定位,确定车牌的左边界和右边界;通过步骤14的二值化,列密度矩阵pos中连续的1序列所对应的位置为车牌区域在整幅图像中列位置,stack3中的值为车牌区域的左边界left,stack4中的值为车牌区域的右边界right;步骤16.根据车牌的特性,确定真正的车牌区域;具体的方法是:剔除车牌宽度小于30和车牌宽度小于车牌高度的伪车牌区域,从而得到真正的车牌区域;步骤17.利用步骤9和步骤15得到的车牌区域的四个边界值,提取车牌区域;具体的车牌提取步骤如下:首先根据步骤9中得到的车牌上边界top和下边界bottom的值,计算出车牌的宽度plate_width=bottom-top;再根据步骤15得到的车牌左边界left和右边界right的值,计算车牌的长度plate_length=right-left;然后,定义一个大小为plate_width*plate_length的矩阵car_plate用来存储分割以后的车牌;最后,把原始图像中top行到bottom行、left列到right列的数值赋值给car_plate,此时,矩阵car_plate即为汽车车牌。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200510021540.9/,转载请声明来源钻瓜专利网。
- 上一篇:烷基醚硫酸盐
- 下一篇:用封端的重氮化合物和偶联组分染色的方法