点选式图片验证码的一种实现效果

一背景

  人机识别,反爬虫等,相信去关注这块的,诉求比较明确。

通常来说,市面上很多这种,腾讯的验证码,网易的盾,还有极验这种专做这块的。好处是:验证方式多样,申请key,调用api 即可,不用去开发。可快速上线,缺点:花钱。不可控。比如我想让用户回答个问题,这个做不到。

二 为什么选择点选式图片验证码?

  网上常见的是滑块式的。而且关于破解方式也是很多了。相对容易吧。反过来对于开发来说:

你得找图,复杂在于:还得扣图,包括滑块,缺口图等。就算你做完这些,前端也需要挺多工作量。而且初期没啥数据积累的情况下,只判断滑块与缺口图的偏移量也不够。轨迹行为数据需要慢慢积累分析。

   所以找个相对容易的点选式图片验证码。

  说到图片验证码,少不了关于OCR识别。这里没有亲自动手验证。贴个结果:

  • 对于宋体,白色背景,非倾斜等,像素大于等于300dpi—识别率%100
  • 英文和数字,识别率超过90%
  • 特殊字符识别率不高
  • 像素太低,识别率急剧下降
  • 多种背景颜色变化,识别率极低
  • 字体换成草书等,识别率大幅降低
  • 电影屏幕字幕和网页截图识别率较低
  • 扫描件如果字体太淡,太小,完全识别不出来
  • 提高识别率,需要自己做训练集,工作量巨大的体力活(简体汉字最少6753个,混合一些复杂的,至少要10000个字符;不同字体要重新做,因为本质上是图形几何计算,国内科研院所和开源的做的不多)

详情参见大佬文章:https://www.cnblogs.com/NaughtyCat/p/tika-support-Tesseract-OCR-with-source-code-and-test-data.html

既然前辈做过,我们可以参照去实现

图片是网上随便找个图,不是纯色背景那种,有些复杂线条。这样OCR做灰化后也增加复杂性。

另外字体不要用宋体那种方方正正的,换个稍微复杂点的。

在线OCR识别效果:

当然我也试过百度的OCR识别效果,还不如讯飞的好。

不要以为这样就高枕无忧了,毕竟所有的验证码在AI还有人肉打码平台面前不堪一击的。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值