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

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’ 有些人甚至没明白看出来区别,对就是斜杠方向

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

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

  • 16
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值