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

   目前,我们已经知道当前验证码图片中是否包含loop,包含loop的验证码图片中的loop的坐标,验证码中字符笔画的宽度,验证码中有效字符的区域等关键因素,现在我们可以根据这些已知条件根据loop principle来初步定位分割点并进行初步的分割。


   loop principle的具体流程为:

   1.遍历当前验证码图片中的loop。

   2.取出loop左下角的坐标,判断该点Y轴坐标与有效区域左侧的距离,若该距离小于某个阈值,则认为该loop位于最左侧,最左侧不需要分割,进入第4步执行完成后,返回第1步;否则执行第3步。

   3.取出loop右上角的坐标,判断该点Y轴坐标与有效区域右侧的距离,若该距离小于某个阈值,则认为该loop位于最右侧,最右侧不需要分割,进入第4步执行完成后,返回第1步;否则当前loop的左右两侧均可作为分割点,顺序执行第3步,第4步,然后返回第1步。

   4.固定左下角的Y轴坐标,遍历loop在X轴范围内的点,取出该条件下的白色像素点所在的坐标点(X,Y),在该像素点的Y轴方向减去字符宽度值得到切割点segPoint1(X,Y – strokenWidth).
   以该点为起点,分别同时执行向上的水滴算法和向下的水滴算法,将两个算法得到的路径合并即得到一条完整的分割路径。
   5.固定右下角的Y轴坐标,遍历loop在X轴范围内的点,取出该条件下的白色像素点所在的X/Y轴坐标值,在该像素点的Y轴方向加上字符宽度值得的切割点segPoint2(X,Y – strokenWidth).以该点为起点,分别同时执行向上的水滴算法和向下的水滴算法,将两个算法得到的路径合并即得到一条完整的分割路径。

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

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

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

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

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

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

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

发表回复

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Fork me on GitHub