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

图形验证码-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是否安装成功。

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

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,及内容都要一样!

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

接下来打开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,注意双斜杠,否则可能因为转义字符报错

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

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

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

3.进行实验

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

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

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

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

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

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

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

1.收集验证码原材料

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

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

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

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

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

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

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

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

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

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

一个不羁的测试

坚持分享

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