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