[发明专利]一种车牌字符切割新方法有效
申请号: | 201611131299.X | 申请日: | 2016-12-09 |
公开(公告)号: | CN106650739B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 高飞;徐云静;吴宗林 | 申请(专利权)人: | 浙江浩腾电子科技股份有限公司 |
主分类号: | G06K9/34 | 分类号: | G06K9/34;G06K9/32 |
代理公司: | 杭州浙科专利事务所(普通合伙) 33213 | 代理人: | 周红芳 |
地址: | 323000 浙江省丽水市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 车牌 字符 切割 新方法 | ||
1.一种车牌字符切割方法,其特征在于包括如下步骤:
步骤1:获得经过车牌定位、倾斜校正、灰度、滤波和二值化算法处理后的白底黑字的车牌二值图D,其中图像的宽度为wh1,高度为ht1,单位为像素;
步骤2:用基于投影的水平切割方法进行车牌字符区域的精确定位,确定车牌字符区域Dc,且htc表示区域Dc的高度;
步骤3:对步骤2的车牌字符区域Dc进行字符切割,得到字符集C={ci;i=0,1,…,N-1},其中,ci表示字符集中第i个字符,N表示集合C中元素的个数,且用ci.l,ci.r表示字符ci的左右边界在区域Dc中的横坐标,ci.a,ci.b表示字符ci的上下边界在区域Dc中的纵坐标;
步骤4:根据字符集C重新调整车牌字符区域Dc,具体为:
步骤4.1:计算出字符集C对应的字符宽度集W和字符的最适宽度具体为:
步骤4.1.1:根据公式(13),得到字符集C对应的字符宽度集W;
W={wi|wi=ci.r-ci.l+1,ci∈C,i=0,1,…,N-1} (13)
步骤4.1.2:根据公式(14)-(15),得到字符宽度集W',N'w表示集合W'中元素的个数;
wa=cN-1.r-c0.l+1;cN-1,c0均∈C (14)
其中,wa表示最右侧字符的右边界和最左侧字符的左边界的距离;
步骤4.1.3:将字符宽度集W'中元素按照从小到大的顺序进行排序,然后不断剔除掉W'中最大和最小的元素,直至W'中元素的个数小于5,根据公式(16)得到集合W'中元素的平均值,记为aw0;
步骤4.1.4:根据公式(16)-(18),计算出集合W'中所有元素的方差集Vw和标准差sw;
Vw={vi|vi=(wi-aw0)2,wi∈W',i=0,1,…,N'w-1} (17)
其中,aw0表示W'中所有字符宽度的平均值;
步骤4.1.5:若标准差sw<0.6且N'w>1,则跳至步骤4.2执行;若标准差sw<0.6且N'w=1,则跳至步骤4.2执行;若标准差sw≥0.6,则继续执行步骤4.1.6;
步骤4.1.6:剔除掉W'中对应方差最大的元素,然后返回步骤4.1.4执行;
步骤4.2:根据公式(19)得到字符集C1,字符集C1中元素个数为N1;
步骤4.3:统计出集合C1中满足ci.a=0的字符个数Na以及满足ci.b=htc-1的字符个数Nb;
步骤4.4:若则根据公式(20)计算出车牌上边界否则令若则根据公式(21)计算得出车牌上边界否则令若且则直接跳至步骤6执行;
步骤4.5:对区域Dc进行调整,保留区域Dc上坐标满足式(22)的区域;
x∈[a,b]且y∈[0,wh1) (22)
步骤5:对步骤4确定的车牌区域Dc,重新根据步骤3进行字符集分割,根据分割结果更新字符集C={ci,i=0,1,…,N-1};
步骤6:解决字符断裂问题,具体为:
步骤6.1:根据步骤4.1,得到字符集C对应的字符宽度集W和字符最适宽度
步骤6.2:计算得到字符集C对应的字符中心点间距集合M和最适字符中心点间距具体为:
步骤6.2.1:根据公式(23),得到字符中心点间距集合M;
步骤6.2.2:根据公式(24),得到中心点间距集合M′,并根据步骤6.2.3、6.2.4和6.2.5,得到集合M′中元素所有字符宽度的平均值,记为am0;
步骤6.2.3:根据公式(25)-(27),得到集合M′中所有元素的方差集Vm和标准差sm;
Vm={vi|vi=(mi-am)2,mi∈W',i=0,1,…,Nm-1} (26)
其中,am表示M′中所有字符宽度的临时性平均值;
步骤6.2.4:若集合M′中元素的个数为3,则更新am0=am;
步骤6.2.5:若标准差sm<1.2且Nm>1,则跳至步骤6.3执行;若标准差sm<1.2且Nm=1,则跳至步骤6.3执行;若标准差sm≥1.2,则继续执行步骤6.2.6;
步骤6.2.6:剔除掉集合M′对应方差最大的元素,然后返回步骤6.2.3执行;
步骤6.3:根据字符对的中心点间距、字符高度和字符宽度分析出断裂字符和错误字符,并实现断裂字符的修复和错误字符的剔除,具体为:顺序遍历集合M中除首尾元素外的元素mi,i=1,2,…,Nm-2,若则ci和ci+1是断裂字符对或存在错误字符,需进一步根据满足式(28)-(32)判断字符对属于何种情况,若满足式(30),则需要剔除字符ci;若满足式(31),则需要剔除字符ci+1;若满足式(32),则字符ci和ci+1可以进行合并;
hi=ci.b-ci.a+1;ci∈C,i=0,1,…,N-1 (28)
Y(i,j)=cj.r-ci.l+1;ci,cj∈C,i=0,1,…,N-1,j=0,1,...,N-1 (29)
hi<0.5×htc
或
或
hi+1<0.5×htc
或
或
hi≥0.5×htc且hi+1≥0.5×htc
且
其中,hi表示字符ci的高度,Y(i,j)表示集合C中字符ci的左边界和字符cj的右边界之间的距离;
步骤6.4:对字符集C进行更新,得到解决了断裂问题后的字符集C,字符集C中元素的个数为N;
步骤7:解决字符粘连问题,具体为:
步骤7.1:根据步骤4.1,得到字符集C对应的字符宽度集W和字符最适宽度
步骤7.2:根据步骤6.2,得到字符集C对应的字符中心点间距集合M和最适字符中心点间距
步骤7.3:顺序遍历字符集C中所有字符ci,i=0,1,…,N-1,若字符ci满足式(36),则字符ci是粘连字符,进一步根据满足式(38)-(41)判断该字符属于何种字符粘连情况,再分别进行处理:
A.若字符ci满足式(38),则认为该字符是错误字符,不进行分割;
B.若字符ci满足式(39),则认为该字符是二字符粘连字符,需要进一步根据满足式(42)-(44)判断该字符是何种二字符粘连情况,再分别进行处理:
a.若字符ci满足式(42),则认为该字符是两个“1”字符粘连的情况,将字符ci分割为和两个字符;
b.若字符ci满足式(43),则认为该字符为“1”字符和非“1”字符粘连的情况,将字符ci分割为和两个字符;
c.若字符ci满足式(44),则认为该字符为非“1”字符和“1”字符粘连的情况,将字符ci分割为和两个字符;
d.若字符ci满足则认为该字符为两个非“1”字符粘连的情况,将字符ci分割为和两个字符;
C.若字符ci满足式(40),则认为该字符是三字符粘连字符,将字符ci分割为三个字符;
D.若字符ci满足式(41),则认为该字符是四字符粘连字符,将字符ci分割为四个字符;
(i=0或i=N-1)且(hi<0.6×htc或ti>0.8×wi×htc);wi∈W (38)
其中,di表示字符ci左侧字符的右边界与其右侧字符的左边界的距离,dLi表示字符ci左边界与其左侧字符右边界的距离,dRi表示字符ci右边界与其右侧字符左边界的距离,ti表示字符ci中黑色像素点的个数,hi根据公式(28)计算得到,表示字符ci的高度;表示区域Dc中坐标为(x,y)的像素点的灰度值;
步骤7.4:对字符集C进行更新,得到解决了字符粘连问题后的字符集C,字符集C中元素的个数为N;
步骤8:若N>7,则需要进行字符筛选,转至步骤9执行;否则,直接转至步骤10执行;
步骤9:筛选出正确的7个字符,具体为:
步骤9.1:根据步骤4.1,得到字符集C对应的字符宽度集W和字符最适宽度
步骤9.2:根据步骤6.2,得到字符集C对应的字符中心点间距集合M和最适字符中心点间距
步骤9.3:根据步骤3.2,更新字符集C中所有字符的上下边界;
步骤9.4:确定中心字符cf,cf为字符集C中下标为f的字符,具体为:顺序遍历中心点距离集合M,找到第一个满足的元素,则f可由公式(45)确定;
步骤9.5:筛选出正确的7个字符,保存至字符集C2中,具体为:
步骤9.5.1:若字符cf不符合满足式(46),则认为该字符为正确的字符,将其保存至字符集C2中;
步骤9.5.2:顺序交替的遍历字符集C中位于字符cf两边的字符ci,若字符ci不符合满足式(46),则认为字符ci为正确字符,将其保存至字符集C2中;其中,字符的遍历方式为顺序交替的遍历字符cf两边的字符,即所遍历字符的下标顺序为f-1,f+1,f-2,f+2…,如果完成一侧字符的遍历,则结束交替遍历,继续进行另一侧字符的顺序遍历;每分析完一个字符,需要判断判别式lc+rc+tc=7是否正确,若正确,则默认剩余未判断的字符都为正确字符,直接顺序加到集合C2中;其中,lc表示字符cf左侧未分析的字符数量,rc表示字符cf右侧未分析的字符数量,tc表示当前字符集C2中正确字符的数量;
其中,hi根据公式(28)计算得到,表示字符ci的高度;
步骤9.5.3:对字符集C2中字符按照ci.l从小到大的顺序进行排序,并更新C=C2;
步骤10:若N<6,则表示车牌字符切割失败,不再执行下面的步骤;否则,继续执行步骤11;
步骤11:找到字符集C中位置存在位置偏差的字符进行位置修正,实现字符的精确定位,集合U={ui|i=0,1,…,N-1}表示字符集C中字符位置的正确性,ui=-1表示字符ci位置存在偏差,ui=1表示字符ci位置正确,初始ui都为-1,算法的具体过程为:
步骤11.1:根据步骤4.1,得到字符集C对应的字符宽度集W和字符最适宽度
步骤11.2:根据步骤6.2,得到字符集C对应的字符中心点间距集合M和最适字符中心点间距
步骤11.3:若N=6且则认为是第一个字符缺失的情况,估算出第一个字符的位置为并将其加到字符集C的最前端,并重新执行步骤11.1和步骤11.2;
步骤11.4:顺序遍历字符集C,找到字符宽度合理的非粘连字符,即若字符ci满足!Z(i)且则认为该字符位置正确,令ui=1,其中Z(i)返回为true表示ci是由粘连算法分割出来的字符;
步骤11.5:顺序遍历字符集C,若字符ci符合满足式(47),则将字符ci下标i添加集合K中;
步骤11.6:顺序遍历集合K,若字符符合满足式(48),则置ui=1,并将元素ki从集合K中剔除,同时若字符符合满足式(47),则将该字符下标添加至集合K中,不断分析集合K中元素所对应的字符,直至集合K为空;
步骤11.7:首先对车牌后五个字符进行位置修正,具体为:
步骤11.7.1:顺序遍历字符集C,若字符ci符合满足式(49),则将该字符下标添加集合K中;
步骤11.7.2:顺序遍历集合K,若字符符合满足式(50),则可将字符调整为若字符符合满足式(51),则可将字符调整为若字符符合满足式(52),则可将字符调整为若不满足以上条件,且符合条件i=2或条件(i>2且i<6且ui+1=1且ui-1=-1),则可将字符调整为若不满足以上条件,且符合条件i=6或条件(i>2且i<6且ui+1=-1且ui-1=1),则可将字符调整为对完成字符位置修正后,置将元素ki从集合K中剔除,并重新执行步骤11.2,同时若字符符合满足式(49),则将该字符下标添加至集合K中;不断调整集合K中元素所对应的字符,直至集合K为空;
i!=2且i!=6且ui+1=1且ui-1=1 (52)
步骤11.8:若u0=1且u1=1,则直接跳至步骤12执行,否则对车牌前两个字符进行位置修正,具体为:
步骤11.8.1:若u0=-1且u1=-1,则将字符c1的位置调整为同时置u1=1;
步骤11.8.2:若u0=1且u1=-1,则将字符c1的位置调整为同时置u1=1;
步骤11.8.3:若u0=-1且u1=1,则需根据满足式(52)-(53)进行分情况处理;若字符c0符合满足式(52),则可将字符c0调整为若字符c0符合满足式(53),则可将字符c0调整为否则,可将字符c0调整为
且;
w0∈W,m0∈M,c0,c1∈C
且;
w0∈W,m0∈M,c0,c1∈C
步骤11.9:将字符集C中所有字符ci,i=0,1,…,N-1调整为(ci.a,ci.b,0,htc-1);
步骤12:根据字符集C,确定各个字符在车牌图像区域Dc中的位置,进行字符切割。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江浩腾电子科技股份有限公司,未经浙江浩腾电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611131299.X/1.html,转载请声明来源钻瓜专利网。