关于用tesseract和tesserocr识别图片的一个问题
对于像我这样初学python网络爬虫的freshman来说,软件的准备和环境的配置能让我们崩溃。其中用刚安装好的tesseract和tesserocr库测试识别验证码就是其中一例。
这里我要测试的验证码是image.png,保存在C:\Users\LENOVO\Desktop。
1.对于tesseract,我按照书上来输入一下命令,然后产生错误。

觉得不可思议,我完全按照书上来的!
过了一天回头看才发现是那个‘-1’出了问题,原本应该是‘-l’,即language的简称。
改了之后以为能成功了,结果一阵无语,又出现了新错误。

后来捣鼓半天才意识到:虽然我已经把Tesseract-OCR目录添加到path环境变量,能在系统任意位置打开tesseract.exe,但打开图片需要正确的路径,于是我做了修改。成功了。

这是结果:

2.对于tesserocr库,当我直接按照书上敲入命令时:
>>> import tesserocr
>>> from PIL import Image
>>> image = Image.open('image.png')
>>> print(tesserocr.image_to_text(image))
到第三行就会出错

说是找不到文件。同样,跟上面一样,我们需要找到准确地址。下面有两种解决办法:
a.第三行命令填上完整读取地址

然后运行成功。
b.我已经把python安装地址添到path环境变量,可以直接在运行打开,但此时是在安装地址打开,直接读取验证码肯定会失败,所以我改在验证码位置打开python3:

然后成功!
所以,像这种东西,不仅需要细心,还要动脑。
关于用tesseract和tesserocr识别图片的一个问题的更多相关文章
- Tesseract识别图片提取文字&字库训练
文中测试了3.0和4.0两个版本.发现3.0识别效率不准确,需要训练词库.4.0识别效率就比较高了,而且支持结果生成pdf.txt等格式.所以推荐使用4.0版本. 这个工具可以用在爬虫的时候获取验证码 ...
- Python使用tesserocr识别文字过程中遇到的一个问题
最近在使用Python识别PNG图像中包含的文字时遇到一个问题.解决过程记录如下. (Python使用tesserocr的安装过程不再描述.) 在使用tesserocr识别PNG图像中的文字时,如果P ...
- C#识别图片上的数字
通过Emgu实现对图片上的数字进行识别. 前期步骤: 1.下载Emgu安装文件,我的版本是2.4.2.1777.3.0版本则实现对中文的支持. 2.安装后需填写环境变量,环境变量Path值后加入Emg ...
- python识别图片文字
因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...
- python 识别图片上的数字
https://blog.csdn.net/qq_31446377/article/details/81708006 ython 3.6 版本 Pytesseract 图像验证码识别 环境: (1) ...
- 识别图片验证码的三种方式(scrapy模拟登陆豆瓣网)
1.通过肉眼识别,然后输入到input里面 from PIL import image Image request.urlretrieve(url,'image') #下载验证码图片 image = ...
- Python3.x:如何识别图片上的文字
Python3.x:如何识别图片上的文字 安装pytesseract库,必须先安装其依赖的PIL及tesseract-ocr,其中PIL为图像处理库,而后面的tesseract-ocr则为google ...
- 分享C#识别图片上的数字
通过Emgu实现对图片上的数字进行识别.前期步骤:1.下载Emgu安装文件,我的版本是2.4.2.1777.3.0版本则实现对中文的支持.2.安装后需填写环境变量,环境变量Path值后加入Emgu安装 ...
- 基于Tesseract的OCR识别小程序
一.背景 先说下开发背景,今年有次搬家找房子(2020了应该叫去年了),发现每天都要对着各种租房广告打很多电话.(当然网上也找了实地也找),每次基本都是对着墙面看电话号码然后拨打,次数一多就感觉非常麻 ...
随机推荐
- Javascript 高级程序设计--总结【一】
文档模式 混杂模式 标准模式 js 数据类型 Undefined Null 看做是一种空对象的引用 Boolean Number String Object typeof 返回类型 "un ...
- @addTagHelper的使用
@addTagHelper用来在cshtml页面加入自定义的Tag @addTagHelper “[the full type name of taghelper,] the assembly nam ...
- Stanford机器学习---第十一讲.异常检测
之前一直在看Standford公开课machine learning中Andrew老师的视频讲解https://class.coursera.org/ml/class/index 同时配合csdn知名 ...
- Windows结构化异常处理浅析
近期一直被一个问题所困扰,就是写出来的程序老是出现无故崩溃,有的地方自己知道可能有问题,但是有的地方又根本没办法知道有什么问题.更苦逼的事情是,我们的程序是需要7x24服务客户,虽然不需要实时精准零差 ...
- Python基础知识:集合
1.集合(set)是一个存放在中括号内的无序,不重复的序列.例如:set = {'1','12','25'} 2.创建集合的两种方法: set = {1,2,3} 中括号直接创建 set = {[1, ...
- ubuntu16.04系统彻底卸载mysql,并源码免编译重装MySQL的步骤
今天的总结 ubuntu上彻底卸载MySQL或重新安装 https://www.jianshu.com/p/974b33873bca #查看是否存在mysql服务 service mysql stat ...
- Keil常见错误汇总及处理方式
1. warning: #767-D: conversion from pointer to smaller integer 解释:将指针转换为较小的整数 影响:可能造成的影响:容易引起数据截断,造成 ...
- 17秋 软件工程 团队第五次作业 Alpha Scrum7
17秋 软件工程 团队第五次作业 Alpha Scrum7 今日完成的任务 世强:部员详情列表的编写与数据交互,完善APP通知模块: 港晨:完成前端登陆界面编写: 树民:完善Web后端数据库访问模块: ...
- Luogu P4705 玩游戏
题目描述 Alice 和 Bob 又在玩游戏. 对于一次游戏,首先 Alice 获得一个长度为 的序列 ,Bob 获得一个长度为 的序列 bb.之后他们各从自己的序列里随机取出一个数,分别设 ...
- RestTemplate 服务名请求
@loadBalance注解修饰的restTemplate才能实现服务名的调用,没有修饰的restTemplate是没有该功能的. @loadBalance是Netflix的ribbon中的一个负载均 ...