图形验证码-AI人工智能初步探索

处于安全考虑,大部分的网站登录页面都会有验证码,验证码的有简单也有复杂的;

以下是度娘对验证码识别的介绍

验证码的主要目的是强制人机交互来抵御机器自动化攻击的。大部分的验证码设计者并不得要领,不了解图像处理,机器视觉,模式识别,人工智能的基本概念。

看来,验证码识别涉及到人工智能,这篇文章,通过验证码识别,对人工智能进行一个初探。

python robot框架有图像处理库PIL、pytesser、tesseract

环境搭建

1.pillow命令安装

pip install Pillow

用pip命令安装不了的话,也可以去官网下载whl包进行安装

https://pypi.org/project/Pillow/

安装完毕,需要检查一下安装是否成功。

如下图所示,打开python后,输入import Image,会提示没有这个模块。因为使用pillow库需要使用from PIL import Image代替import Image。按照图中的处理,即可验证PIL是否安装成功。

2.pytesser的使用

pytesser下载地址:链接:https://pan.baidu.com/s/1zBipW08DoT_WT-ubtIj7gw 密码:zedi

下载解压后直接放C:\Python27\Lib\site-packages(根据你安装的Python路径而不同),同时,新建一个pytesser.pth,内容就写pytesser,注意这里的内容一定要和pytesser这个文件夹同名,意思就是pytesser文件夹,pytesser.pth,及内容都要一样!

接下来打开pytesser文件夹,将pytesser.py修改成__init__.py,然后打开py文件进行修改:

1. import Image —> from PIL import Image

2. tesseract_exe_name = 'tesseract' —> tesseract_exe_name = 'Python安装路径\\Lib\\site-packges\\pytesser\\tesseract,注意双斜杠,否则可能因为转义字符报错

pytesser同时依赖tesseract-ocr,继续安装tesseract-ocr了,下载地址:链接:https://pan.baidu.com/s/1sbt4yt3y1LuPIxQVVug0AA 密码:2cb5

下载后解压,tessdata文件夹,用其替换掉pytesser解压后的tessdata文件夹即可。

3.进行实验

说明可以识别简单的验证码!

复杂的呢?下图本来是有背景的,去除背景后识别率并非100%

有干扰线的根本无法识别!!!

于是,不服气的我就做了一下尝试

1.收集验证码原材料

2.去除原图片噪点、将背景色处理成白色

3.将去噪点后的图片切割并人为打标签分库

然而。成功率并不高,因为干扰线的原因,数字形状不固定。

所有如果能去除干扰线,成功率就会提升一大截。

现在我还是个菜鸟,代码基础不太好,暂时无法解决,现在的方案是让开发在代码中加万能验证码。

人工智能图像识别,暂时就告一段落了,以后有新的进展会及时更新。

觉得好的请点个赞,谢谢!

一个不羁的测试

坚持分享

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180628G15Q3800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券