粘粘字符“花式分割”___loop and guideline

   loop and guideline是本系列文章讨论的算法的两个核心,loop principle可以将包含自然loop的区块完全分割,可惜不是每张图片都包含自然loop。对于执行loop principle之后仍粘连的状况将完全交由guideline principle来处理。讲述这两者的合作方式便是本文的中心思想,仍然以TAOBAO四字符白底蓝字的验证码为研究对象。


   1.loop and guideline的合作方式

   1.1 loop分割完成后,获取已得到的分割路径的数量。
   1.2 若路径数量等于5,则分割结束,执行1.6步;若路径数量小于5,那么执行第1.3步。
   1.3 根据已得到的路径数量获取路径之间的区块信息,该信息中包含每个区块有效字符像素的数量,每个区块所占据区域的左下角和右下角坐标以及每个区块的二值化数组。
   1.4 根据区块数量与相关信息判断每个区块的粘连状况,然后根据guideline特征进行分割。
    1.4.1 1个区块,当前仍有四个字符粘连。
    1.4.2 2个区块,当前的粘连状况可能为1+3或者2+2。以区块有效字符像素的数量为区分标准,若区块1 > 2*区块2,或者区块2>2*区块1, 则认为区块1或区块2为3字符粘连区域,否则,认为区块1与区块2均为2字符粘连区域。
    1.4.3 3个区块,当前的粘连状况为2+1+1。以区域有效字符像素的数量为区分标准来找到仍然粘连的区块:字符像素数比另外两个区块均大的认为是粘连区域。
   1.5 得到新的分割路径后,回到第2步判断是否需要继续。
   1.6 分割结束,根据分割路径将原图进行分割。 

2.粘连区块信息记录

   粘连区块信息非常重要,它记录的区块左上角与右下角用于准确定位粘连区块,记录的有效字符数量用于区域分割已完成区域和未完成区域,数组则用于记录当前区块的二值化信息,该数组包含且仅包含当前区块的字符信息,获取粘连区块信息的函数如下。

粘粘字符“花式分割”___fix broken characters

粘粘字符“花式分割”___Color Filling

粘粘字符“花式分割”___loop principle

粘粘字符“花式分割”___draw guide lines

粘粘字符“花式分割”___loop and guideline

粘粘字符“花式分割”___guideline principle

验证码粘连字符分割经验谈



发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Fork me on GitHub