Python 3.6 版本-使用Pytesseract 模块进行图像验证码识别
环境:
(1) win7 64位
(2) Idea
(3) python 3.6
(4) pip install pillow
< >pip install pytesseract
(5) 识别引擎tesseract-ocr
1、安装
pip install pillow
pip install pytesseract
2、安装tesseract-ocr的识别引擎
第一步:下载安装包
根据https://github.com/UB-Mannheim/tesseract/wiki,找到下载安装包。

我下载的是64位,根据自己需要下载
第二步:安装
直接点击下载好的tesseract-ocr-w64-setup-v4.0.0-beta.1.20180608.exe文件,点击下一步,下一步,安装完成。
第三步:配置环境变量
复制你安装的路径,我的是安装在C:\Program Files (x86)\Tesseract-OCR,界面如下:

进入“计算机/属性”,点击“高级系统设置”,点击环境变量,找到path,点击编辑,在末尾粘贴你刚才复制的路径,{粘贴时,你要给原有的信息末尾添加;分号}

配置完毕后,点击保存。
打开命令行windows + R 输入cmd 打开 在命令行里面输入tesseract -v 配置成功会显示当前的tesseract版本

第三步:添加TESSDATA_PREFIX变量名

第四步:修改python文件下的lib里面生成的一个pytesseract.py文件


3:运行代码

四、下载chi_sim语言包
现在tesseract 被托管到github上
https://github.com/tesseract-ocr/tessdata
然后看到里面可以下载相应的语言包
由于版本问题所以需要到对应的连接进行下载。
支持的语言查看
tesseract --list-langs
1
显示:
List of available languages (3):
chi_sim
eng
osd
终于ok了,不过识别率一般般吧,不是很理想
以上就是我解决问题的过程,如果对你有所帮助,希望你点个赞O(∩_∩)O
参考链接:
http://xiaosheng.me/2015/12/18/article10/
https://tonydeng.github.io/2016/07/28/on-the-use-of-tesseract-picture-text-recognition/
Python 3.6 版本-使用Pytesseract 模块进行图像验证码识别的更多相关文章
- tesserocr与pytesseract模块的使用
1.tesserocr的使用 #从文件识别图像字符 In [7]: tesserocr.file_to_text('image.png') Out[7]: 'Python3WebSpider\n\n' ...
- Windows平台python验证码识别
参考: http://oatest.dragonbravo.com/Authenticate/SignIn?returnUrl=%2f http://drops.wooyun.org/tips/631 ...
- Python学习_Python 3.X版本导入httplib模块报ImportError解决方案
之前用Python 2.7版本的httplib做接口测试时,运行代码都是正常的, 最近开始用Python 3.3之后,再去看以前的代码,发现import httplib出现错误:Unresolved ...
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- python学习笔记-(九)模块
基础知识 1. 定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑----实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块就是test) 包:用 ...
- Python学习总结12:sys模块
sys模块常用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互. 1. 导入及函数查看 >>> import sys #导入sys模块 >>&g ...
- python email ==> send 发送邮件 :) [smtplib, email 模块]
关于Email的预备知识: 原贴地址:http://www.cnblogs.com/lonelycatcher/archive/2012/02/09/2343480.html ############ ...
- Python库:序列化和反序列化模块pickle介绍
1 前言 在“通过简单示例来理解什么是机器学习”这篇文章里提到了pickle库的使用,本文来做进一步的阐述. 通过简单示例来理解什么是机器学习 pickle是python语言的一个标准模块,安装pyt ...
- python进阶(3):模块和包
之前两天我们介绍了一些比较常用的模块,而我也说过会讲解什么是模块,今天我们就来分析分析模块和包,模块我们现阶段使用还可以而包的话现阶段我们基本很少会用到包,学的不是很清楚也没关系这些东西都是用的多了也 ...
随机推荐
- 如何分析redis中的慢查询
慢查询的两个参数配置 慢查询只记录命令执行时间,并不包括命令排队和网络传输时间.因此客户端执行命令的时间会大于命令实际执行时间.因为命令执行排队机制,慢查询会导致其他命令级联阻塞,因此当客户端出现请求 ...
- cmd 域名生效检测
nslookup -qt=ns xxx.baidu.comnslookup -qt=txt xxx.baidu.com
- (原)关于使用imagemagick将gif叠加到图片或者画布上的方法,以及疑难杂症
今天因为项目过程中,有一个小需求,需要将一个指定的gif按照指定大小,叠加到画布的指定位置上,本来对于熟悉这块的人,简直就是小菜一碟哈,但本人因为对imagemagick的不熟悉,导致在这个需求上摸索 ...
- Callback must be a function. Received undefined
fs.js:143 throw new ERR_INVALID_CALLBACK(cb); ^ TypeError [ERR_INVALID_CALLBACK]: Callback must be a ...
- GK_Zone与GK_CM的区别
北京54坐标系3度投影带是从东经1度30秒经线开始,按经差3度为一个投影带自西向东划分,全球共分120个投影带.为了便于地形图的测量作业,在高斯-克吕格投影带内布置了平面直角坐标系统,具体方法是,规定 ...
- Javascript判斷function是否定義
jQuery可以用 isFunction() 來進行判斷 如果僅使用Javascript可以使用以下的方法 function isFunction(fn){ return typeof fn === ...
- Datalogic 雕刻机
选型需要考虑: 1. 材料 2. 材质 3. 内容 4. 范围 选择镜头 5. 厚度 6. 效率 7. 效果 脚本代码: // COM 串口设置 const N_COM = "COM2&qu ...
- Android MVP模式简单介绍:以一个登陆流程为例
老的项目用的MVC的模式,最近完成了全部重构成MVP模式的工作,虽然比较麻烦,好处是代码逻辑更加清楚.简洁,流程更加清晰,对于后续版本迭代维护都挺方便.对于一些想要学习MVP模式的同学来讲,百度搜出来 ...
- Java操作JSON数据(3)--fastjson操作JSON数据
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean.本文介绍下fastjs ...
- GridControl单元格编辑验证的方法
本文实例演示了DevExpress实现GridControl单元格编辑验证的方法,比较实用的功能,具体方法如下: 主要功能代码如下: /// <summary> /// 自定义单元格验证 ...