利用 tesseract 解析简单数字验证码图片

專 欄

陈键冬 ,Python中文社区专栏作者
GitHub:
https://github.com/chenjiandongx

tesseract 是一个 OCR(Optical Character Recognition,光学字符识别)引擎,能够识别图片中字符,利用这个可以用来解析一些简单的图片验证码。Github 地址:https://github.com/tesseract-ocr/tesseract,Windows 平台 v3.05.01 版本下载地址: http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.01.exe

一开始弄这个是因为学校网络要上网每次都要在网页验证,就想能不能写个程序自动验证免去手动验证过程。但这需要验证码,为了解决这个问题,就上网搜了一下,就看到有用 tesseract 的。有人用 Python 实现了一个工具: https://github.com/madmaze/pytesseract ,拿来试了一下,Windows 上使用总是有问题,我就把目光转向了 tesseract 本身,这是它的使用说明:

picture.image

picture.image

最后就决定自己实现一个简单的接口

使用方法

picture.image

对参数解释一下

picture.image

具体思路

本地图片的,先判断该文件是否存在;网络图片的,下载到本地,默认的保存路径是 r"D:\img.jpg" (保存在哪不重要,只是暂存而已,解析完会自动删除的)

picture.image

接下来是一些非必要参数

picture.image

picture.image

至于为什么只是数字,是因为英文的总是不能完全解析出来,修改了 -l 参数也是没用,使用其自带的 tessdata 也没用,中文的话解析出来的内容完全看不懂... (或许是我打开方式不对?)

效果

测试图片1

picture.image

picture.image

测试图片2

picture.image

picture.image

测试图片3

picture.image

picture.image

温馨提示:不能保证百分百正确,也不能保证百分百解析得出来。所以项目仅供参考!!!要有保证的话还是找打码平台吧

具体代码参见 Github:https://github.com/chenjiandongx/pyocr


picture.image

长按扫描关注Python中文社区,

获取更多技术干货!

Python 中 文 社 区

Python中文开发者的精神家园

合作、投稿请联系微信:

pythonpost

— 人生苦短,我用Python —
1MEwnaxmMz7BPTYzBdj751DPyHWikNoeFS

本文为作者原创作品,未经作者授权同意禁止转载


点击阅读原文可进入 Python圈子 获取下方资料 :

人工智能与深度学习国内外最新资料(10G) 、Python web开发、数据分析、网络爬虫学习资料大全、《Python爬虫入门》、《Python简易爬虫实战案例》、《TensorFlow从入门到案例》课件,《Python数据科学入门》案例源代码及各类Python资料、技术源码、行业信息精选定期分享。

0
0
0
0
评论
未登录
暂无评论