Python 3.6 版本 Pytesseract 图像验证码识别 PyCharm 报错FileNotFoundError

2023-11-14

Python 3.6 版本 Pytesseract 图像验证码识别

本文首先先说下问题,在代码中引入Pytesseract块时,总是出现错误
程序代码很简单如下:

from PIL import Image
import pytesseract

text = pytesseract.image_to_string(Image.open("pic.gif"))
print(text)

结果呢,肯定是报错,而且这个错误死活过不去

 File "D:\Program Files\Python36\lib\site-packages\pytesseract\pytesseract.py", line 46, in run_tesseract
    proc = subprocess.Popen(command, stderr=subprocess.PIPE)
  File "D:\Program Files\Python36\lib\subprocess.py", line 707, in __init__
    restore_signals, start_new_session)
  File "D:\Program Files\Python36\lib\subprocess.py", line 992, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

下面解决问题,你所需要的准备工作,Window下图像识别想用Python处理的

真的是跳了所有的坑,不管是中文CSDN的解释还是StackOverflow英文上面的,首先要确保:

  • 1、安装Pillow,命令pip install Pillow,安装完毕会在Python文件夹下Lib\site-packages\pytesseract这个文件夹,里面有pytesseract.py文件

  • 2、确保,确保,确保 安装了 Tesseract-OCR 这个好像没有64、32的区别
    本人Python用的64位,安装这个OCR时候,看到用的是32位版本的最后没问题,安装后,自动生成环境变量,查看自己环境变量里是否有tesseract的路径

  • 3、如果如果上两步你完成了,那么你可以找一个图片测试了,cmd中输入tesseract,会出现下面提示,就没问题了
    测试tesseract

  • 4、你甚至可以在D盘找一个图片,然后测试一下这个工具强大的功能,比如识别一个验证码图片上的数字,图片路径为D:/pic.gif
    测试图片如下:
    验证码图片如下

  • **5、在cmd命令中输入命令 tesseract d:/pic.gif result **
    什么意思呢?就是将当前图片识别出的结果,放到result.txt文件中,路径是当前路径,结果完美,没问题!!!
    识别结果


以上都说明没问题啊,但是但是问题来了,我在Pycharm中为什么就一直执行失败,

1.提示subprocess问题,我查着了各种 “火坑“,有的说包不兼容,有的说subprocess.py文件路径有问题,你的Python路径”/“ 和”\“双反斜杠有问题,有的说pytesseract有问题,最终结果就是
cmd可以运行,PyCharm运行有问题,呵呵呵呵呵呵呵呵哒

2、有的人说环境变量好的,为什么Pycharm执行不了报错??
这里写图片描述

我就尝试着打开pytesseract.py的文件,找到tesseract这个环境变量设置的地方,修改路径为:

tesseract_cmd = ‘D:\Program Files\Tesseract-OCR\tesseract.exe’
环境变量tesseract在系统Path中 也是这个路径,这下总可以了吧,点开,结果还是错误,错误原因还是这个!!!!!!

我是郁闷的,我试着更改环境变量设置的地方,修改路径为:

tesseract_cmd = ‘D:/Program Files/Tesseract-OCR/tesseract.exe’ 有些人甚至没明白看出来区别,对就是斜杠方向

试着运行了一把,大功告成,此时此刻我的内心是崩溃的!!!!!!,总算成功了
大功告成

欢迎来拍砖~~~~~~~~~~~~~~~~~~~~~~~~~~~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 3.6 版本 Pytesseract 图像验证码识别 PyCharm 报错FileNotFoundError 的相关文章

  • Java海龟画图turtle多彩螺旋线

    利用turtle画多彩螺旋线 思路 在画正多边形的基础上 步长不是一直相同 而是越来越长 并且角度比画正多边形需要的角度多一些 每次拐弯变换颜色 Size是螺旋的大小 Step的每一步的长度 每走一步拐弯一次 Densi是密度 角度越小 螺
  • 【C++11】 列表初始化 auto 范围for 新增关键字 新增容器

    文章目录 1 列表初始化 2 auto 范围for 3 新增关键字 3 1 decltype 3 2 default 3 3 delete 3 4 final与override 4 总结 1 列表初始化 由c语言的规则我们知道 一般只有数组
  • 【Linux】基础:线程的概念

    Linux 基础 线程的概念 摘要 本文介绍Linux下的线程概念 首先将会线程在系列教材中的定义进行抛出 从常规的操作系统进行理解线程的概念 在具体说明Linux下的进线程的管理与组织方式 以及由于该组织方式的差异 导致的接口和资源的特殊
  • C语言实现仿射密码体制

    算法思想 1 通过用户输入的加密函数的斜率和截距 a与b 可以利用a计算出a的逆源 在输入a之后 要判断a与26是否互素 即a值与26的最大公约数为1 代码中采用辗转相除法 如果不符合要求 请提示重新输入 求解a的逆源 例如7的逆源是15
  • Unity连接服务器实现用户登录注册

    仅个人记录 方便以后忘掉回来看看 服务器买的是腾讯云的 系统是 CentOS 管理工具用的是万胜云面板 好像也叫宝塔 数据库都是在这里面整的 用到的表提前在里面创建好了 using MySql Data MySqlClient using
  • 阿里云ECS服务器1核2G能跑centos8.2系统吗?

    可以的 LInux系统的优点就在这些方面的 他不会随着系统的升级 导致服务器的配置过低从而不够用等情况 简单说就是不会太费系统资源的 阿里云ecs服务器centos系统还是算比较轻量级的了 本身对系统资源的占用并不高的 但是如果你使用win

随机推荐

  • C++中public、protected、private的区别

    1 访问范围 private public protected的访问范围 private 只能由该类中的函数 其友元函数访问 不能被任何其他访问 该类的对象也不能访问 protected 可以被该类中的函数 子类的函数 以及其友元函数访问
  • js作用域链

    简单的理解什么是作用域链 一级一级向上查询所以父级对象的变量的这个过程就是作用域链 下面我们来详细了解一下 变量作用域 在js中 变量分为全局变量和局部变量 全局变量的作用域是全局的 在任意地方都是被定义的 而局部变量可以是函数的参数 函数
  • 【Flutter 2-5】Flutter手把手教程UI布局和Widget——TextField使用、搭配InputDecoration和FocusedNode使用

    作者 弗拉德 来源 弗拉德 公众号 fulade me TextField TextField是一个常用的控件 同时它也是一个组合控件 由多个控件组合而成 这是来自Material官方网站的的图片 TextField是由7个控件组成 其中有
  • el-table排序

    排序有三种状态 默认不排序 升序 降序 如果要改变设置默认状态 用 default sort prop controlStatus order ascending 设置排序字段 sort by sortControlStatusArr 可以
  • 第四章 KubeSphere3.3.0 + Redis7.0.4 + Redis-Cluster 集群部署

    第四章 KubeSphere3 3 0 Redis7 0 4 Redis Cluster 集群部署 文章目录 第四章 KubeSphere3 3 0 Redis7 0 4 Redis Cluster 集群部署 前言 一 创建redis存储卷
  • java使用Ucloud对象存储

    最近研究了Ucloud的对象存储 使用起来很简单 总结一下 1 配置UFile 官网上下载下来的SDK jar包和测试类都包含在其中 结合到项目中 有重复的jar包 要选一留下 不要都留 配置文档的配置 UCloudPublicKey HL
  • 【Android】Exam8 多线程

    文章目录 实验目的 题目 Code 实验目的 掌握采用Handler Thread编写多线程序 掌握AsyncTask编写多线程序的方法 题目 采用Handler Thread多线程方式编写程序一个模拟从网络下载文件的程序 点击 点击加载
  • 使用OpenCV工具包成功实现人脸检测与人脸识别,包括传统视觉和深度学习方法(附完整代码,吐血整理......)

    使用OpenCV工具包实现人脸检测与人脸识别 吐血整理 OpenCV实现人脸检测 OpenCV人脸检测方法 基于Haar特征的人脸检测 Haar级联检测器预训练模型下载 Haar 级联分类器 OpenCV Python实现 基于深度学习的人
  • sklearn pip install 安装失败

    看机器学习教程用sklearn然后我pip install 无论怎么安装都是失败的 后来查了一下之后发现是sklearn更名为scikit learn pip install scikit learn 就可以得到sklearn 库啦
  • Maven打包时去掉版本号及assembly id

    1 去掉版本号 在工程build配置中设置finalName project artifactId
  • sivalco使用测试pin正向导通

    在学完功率半导体器件后 为了能够更好的了解功率半导体器件内部的相关性质 于是利用sivalco软件进行仿真 对于器件工作时相关数据进行分析 对于相关语句进行学习 在功率半导体中以N或者P半导体进行掺杂获得我们所需要的器件 利用网格定义掺杂浓
  • 如何对基因组序列进行注释

    基因组组装完成后 或者是完成了草图 就不可避免遇到一个问题 需要对基因组序列进行注释 注释之前首先得构建基因模型 有三种策略 从头注释 de novo prediction 通过已有的概率模型来预测基因结构 在预测剪切位点和UTR区准确性较
  • fpga服务器系统设计,基于FPGA的服务器工作状态模拟测试系统设计

    摘要 随着近年来 信息化程度的不断加深 服务器得到了更为广泛的应用 服务器的用途变的越来越多样 功能也越来越强大 而服务器研发工作一直是困难重重 相比普通的个人电脑 服务器在安全性 稳定性和可管理性上有更高的要求 为服务器配置合适的管理机制
  • Pytorch入门学习——快速搭建神经网络、优化器、梯度计算

    我的代码可以在我的Github找到 GIthub地址 https github com QinghongShao sqh Pytorch Study 因为最近有同学问我如何Nerf入门 这里就简单给出一些我的建议 1 基本的pytorch
  • c++操作kafka

    通过调用librdkafka库实现操作kafka 消费者 1 include
  • sublime text3 英文版转为中文版

    简单几步 1 点击菜单栏中 preferences 弹出选项中找到 package control 2 弹出的框中输入 install package 3 弹出的框中在输入 localization 4 然后就汉化了
  • python下载安装教程(Python 3.10版本)

    目录 一 Python下载 二 Python安装 三 检查Python是否安装成功 今天换了新的电脑 需要重新安装python和PyCharm 就简单的写个教程吧 一 Python下载 1 进入Python官网 官网地址 https www
  • Nginx的跨域、alias、优化

    文章目录 root与alias 反向代理解决跨域 nginx的优化 基本配置优化 反向代理设置keepalive 压缩 缓存 操作系统优化 root与alias location alias app html index index htm
  • 计算机组成原理--基于Logisim的汉字的表示的应用(超详细/设计/实验/作业/练习)

    目录 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim的汉字的表示 一 前言 二 环境与设备 三 内容 四 结果与分析 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim
  • Python 3.6 版本 Pytesseract 图像验证码识别 PyCharm 报错FileNotFoundError

    Python 3 6 版本 Pytesseract 图像验证码识别 本文首先先说下问题 在代码中引入Pytesseract块时 总是出现错误 程序代码很简单如下 from PIL import Image import pytesserac