4

python验证码识别5:滴水算法补充

 2 years ago
source link: https://www.hi-roy.com/posts/python%E9%AA%8C%E8%AF%81%E7%A0%81%E8%AF%86%E5%88%AB5/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

python验证码识别5:滴水算法补充

2017-09-26

关于之前说的滴水算法,一直以为看不懂是因为智商不够,直到上周腾出时间看了原版论文才恍然大悟……之前看的都是“残篇”,怪不得很多地方看的都稀里糊涂的!

所以有英语能力的还是要看一手资料才行啊!否则看二手甚至多手的东西有时候会让人怀疑智商。

这里原版的论文链接 提供给各位,60280.pdf是最最原版的滴水算法,dropfall.pdf是经过改造的《基于惯性的滴水算法》和《基于惯性的大滴水算法》。另外改造版的算法是国人发表的,看的时候一种自豪感油然而生,虽然我也不知道自豪个什么劲……

基于惯性的滴水算法为了解决传统滴水算法遇到有“毛边”的情况,在传统水滴算法基础上多考虑了之前一步的方向。比如周围5个点都是黑或者白时,传统算法是应该向下滴落,但如果之前一步的方向是向右,那么综合考虑后滴落方向就变成了右下。另外,在基于惯性的滴水算法中,“左”是受到“歧视”的。

再进一步,对于类似字母Y这种凹陷情况,把判断范围扩大而不是仅仅考虑某一个像素点,就变成了基于惯性的大滴水算法了。

另外,关于起始点的选择,原版论文中是从上到下、从左到右依次遍历所有像素,找到第一个 左侧为黑色像素、右侧有黑的像素的白色像素点 开始滴落(确实挺拗口,看论文中的图就明白了)。

至于代码,先挖坑病好以后有空再和大家一起讨论分享。

Roy avatar
About Roy
野生程序猿,略懂Python,略懂Golang,略懂云计算,略懂大数据,略懂拳击游泳钓鱼,略懂钢琴吉他摄影。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK