yqchilde / JDMemberCloseAccount

学习python操作selenium的一个🌰 ,也是一种京东全自动退会方案
MIT License
1.24k stars 346 forks source link

[Feature request] 一个识别图形验证码的方法 #45

Closed AntonVanke closed 3 years ago

AntonVanke commented 3 years ago

感觉可以通过Pillow来识别验证码


猜想的思路:

  1. 将需要找到的物体的图片裁剪成一个合适的大小,使其主要物体占据绝大部分 2lpugs.png
  2. 降低上述图片颜色数量,提取某种像素点最多的颜色;例
    for x in range(len(np.array(img))):
        for y in range(len(np.array(img)[x])):
            np.array(img)[x][y] = [(np.array(img)[x][y][0] // 16) * 16, ……, (np.array(img)[x][y][2] // 16) * 16]
  3. 同样降低颜色数量处理目标图片,并将图片裁切成小块
  4. 将物体图片与目标图片小块比对,对比像素点最多的那一块就是验证码的答案 2lpKvn.md.png

你怎么看

yqchilde commented 3 years ago

唉,听起来不错,但是我不会实现(不会写🤣)

AntonVanke commented 3 years ago

唉,听起来不错,但是我不会实现(不会写🤣)

我刚刚已经验证成功了😁,还可以,不过正确率有点低(75%)

AntonVanke commented 3 years ago

刚才试了好长时间一直报错,最后突然发现验证码图片被拉伸了,原来是275*170拉伸了1.4倍

yqchilde commented 3 years ago

可以可以,期待了,这样退会又省事许多

yqchilde commented 3 years ago

👍 ,很棒啊,识别率还是可以的,感谢大佬PR

AntonVanke commented 3 years ago

👍 ,很棒啊,识别率还是可以的,感谢大佬PR

😂

lonercci commented 3 years ago

大佬们牛批!!!