当我们在使用pytesseract库的时候,使用 pip install pytesseract安装完成后,发现它并不能识别出图片内容,并且会抛出异常pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.

这是怎么回事呢?今天让我们一探究竟

尝试

使用代码

import pytesseract
from PIL import Image image = Image.open("./NormalImg.png")
text = pytesseract.image_to_string(image)
print(text)

报错提示:

    raise TesseractNotFoundError()
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.

官方文档

pytesseract官方文档:https://pypi.org/project/pytesseract/

是我们缺少了tesseract程序

tesseract官方Github地址:https://github.com/UB-Mannheim/tesseract

tesseract官方Github说明https://github.com/UB-Mannheim/tesseract/wiki

安装tesseract

下载地址

Tesseract 5.0.0 32位版本:tesseract-ocr-w32-setup-v5.0.0-alpha.20200328.exe (32 bit)

Tesseract 5.0.0 64位版本:tesseract-ocr-w64-setup-v5.0.0-alpha.20200328.exe (64 bit)

新增百度云盘链接:

链接:https://pan.baidu.com/s/1EO5tFmzn1hqY_M679eSBnw

提取码:nyw4

导入tesseract.exe执行文件地址

添加以下导入路径:

pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'

最终代码:

import pytesseract
from PIL import Image pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
image = Image.open("./NormalImg.png")
text = pytesseract.image_to_string(image)
print(text)

至此运行代码不会异常,并可以正常读取图片文字内容

总结

pytesseract包依赖于Tesseract执行文件,需要安装Tesseract

当然Tesseract只能识别标准的ASCII字符串,复杂的验证吗就无法使用pytesseract来读取了


欢迎来跟博主讨论Python有关的问题。

Python中pytesseract库的使用以及注意事项的更多相关文章

  1. python中requests库使用方法详解

    目录 python中requests库使用方法详解 官方文档 什么是Requests 安装Requests库 基本的GET请求 带参数的GET请求 解析json 添加headers 基本POST请求 ...

  2. Python中第三方库Requests库的高级用法详解

    Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...

  3. Python中cv2库和matplotlib库色彩空间排布不一致

    今天在python中读如图片时发现以下问题: 1.在from matplotlib import pyplot as plt之后,再import cv2 cv2.imshow()不能正常使用,还不知道 ...

  4. Python 中拼音库 PyPinyin 的用法【华为云技术分享】

    [摘要] 最近碰到了一个问题,项目中很多文件都是接手过来的中文命名的一些素材,结果在部署的时候文件名全都乱码了,导致项目无法正常运行. 后来请教了一位大佬怎么解决文件名乱码的问题,他说这个需要正面解决 ...

  5. python中pyperclip库的功能

    python3中pyperclip库的功能 作用就是复制.粘贴 例子 import pyperclip pyperclip.copy('Hello world!') pyperclip.paste() ...

  6. Python中msgpack库的使用

    msgpack用起来像json,但是却比json快,并且序列化以后的数据长度更小,言外之意,使用msgpack不仅序列化和反序列化的速度快,数据传输量也比json格式小,msgpack同样支持多种语言 ...

  7. Python中datetime库的用法

    datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1. datetime模块定义了5个类,分别是 1.datetime ...

  8. Python中的库使用之一 PIL

    先上代码:本文主要工给自己参考,在需要的时候直接搜索查找就行了,不想看没有实际运行例子的文档,当参考完这部分还哦未能解决问题在参考PIL的相关文档! Skip to content This repo ...

  9. Python中第三方库的安装

    网上的帖子挺多的,教你如何安装,安装第三方工具库的方法总共分为三类:Dos系统下pip命令:安装包下载安装:IDE集成环境下安装(Pycharm,Spyder……) http://www.jiansh ...

随机推荐

  1. 深度学习论文翻译解析(十一):OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks

    论文标题:OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks 标题翻译: ...

  2. 判断js中数组是否包含某值

    可以用数组的includes函数判断数组中是否存在某个值.

  3. PHP scandir() 函数

    ------------恢复内容开始------------ 实例 列出 images 目录中的文件和目录: <?php$dir = "/images/"; // Sort ...

  4. 题解 [NOI2015]程序自动分析

    据说考前写题解可以$\text{RP}$++? 这题还是算一道并查集水题了吧qwq我又做了好久 ---------------------------------------------------- ...

  5. java 遍历数组常见的3种方式

    1.for循环,最常见 2.利用foreach 3.利用jdk自带的方法  --> java.util.Arrays.toString()

  6. 你该知道的Docker-compose

    Docker-compose介绍 前几篇文章和小伙伴们,分享了使用Dockerfile来构建镜像,使用docker run等命令来手动启动镜像.docker stop停止镜像.docker kill杀 ...

  7. springboot集成mongodb实现动态切换数据源

    主要实现原理,利用spring的aop 在切入点执行db操作之前 将数据库切换: 本例子采用aop在controller进行拦截 拦截到MongoTemplate.class 切换数据源后重新放回去 ...

  8. vue中模块局部刷新

    父组件: 一. 父组件中引入子组件           data中定义变量 二. 定义provide函数 三.写reload方法 需要刷新的那个子组件: 一.引入                   ...

  9. 还在纠结学什么编程语言吗?Python可能会“教”你做人

    这几年为什么Python在中国就火起来了? Python这个东西国,大概是从2017年末开始,突然就火了起来的.此前,对于Python,乃至编程,绝大多数程度上都是专业人士的话题,在普通大众层面上起不 ...

  10. selenium WebDriverWait类等待机制的实现

    在自动化测试脚本的运行过程中,可以通过设置等待的方式来避免由于网络延迟或浏览器卡顿导致的偶然失败,常用的等待方式有三种: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法 ...