如何解决错误pytesseract.pytesseract.TesseractNotFoundError:未安装tesseract或它不在您的路径中

时间:2019-12-08 18:51:17

标签: python python-3.x ocr python-tesseract

我收到错误pytesseract.pytesseract.TesseractNotFoundError:未安装tesseract或它不在您的路径中。在此之前几分钟,我就测试了我的程序,它运行良好。然后我再次对其进行了测试,并不断显示此错误。我不知道该怎么办。这是我的代码:

from PIL import ImageGrab
import cv2
import pytesseract
import numpy as np
from tkinter import Tk
from tkinter.filedialog import askopenfilename
ask = input("Do you want to ocr in realtime or choose a picture (r/p)?")
if ask == 'r':
    while True:
        screen = np.array(ImageGrab.grab(bbox=(700, 300, 1600, 1000)))
        # print('Frame took {} seconds'.format(time.time()-last_time))
        cv2.imshow('window', screen)
        if cv2.waitKey(25) & 0xFF == ord('q'):
            cv2.destroyAllWindows()
            break
        print(pytesseract.image_to_string(screen, lang='eng', config='--psm 6'))
if ask == 'p':
    Tk().withdraw()  # we don't want a full GUI, so keep the root window from appearing
    filename = askopenfilename()  # show an "Open" dialog box and return the path to the selected file
    print(pytesseract.image_to_string(filename, lang='eng', config='--psm 6'))

4 个答案:

答案 0 :(得分:1)

此问题可能有多个问题。

检查是否安装了tesseract.exe。如果没有,请从下面的链接获取exe文件并进行安装。记住安装路径,以备将来参考。

https://github.com/UB-Mannheim/tesseract/wiki

如果您已经安装了tesseract。但是pytesseract无法使用python访问tesseract。您可以像这样在脚本中设置路径。

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

答案 1 :(得分:0)

您需要告诉pytesseract tesseract二进制文件在哪里:

import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'<full_path_to_your_tesseract_executable>'

这样做应该可以解决您的问题

答案 2 :(得分:0)

过去我一直遇到相同的问题,我认为您必须确保自己:

  1. here安装
  2. 运行pip install pytesseract
  3. 在值为

    的环境变量中添加一个名为“ tesseract”的新变量

    C:\ Program Files(x86)\ Tesseract-OCR \ tesseract.exe

  4. 如果在命令行中运行tesseract,则应该通过提供使用信息来起作用

就这样:)

答案 3 :(得分:0)

最重要的是安装过程和训练有素的数据文件。例如,阿拉伯语需要ara.traindata文件。我建议使用正确的语言模型和最新版本:

对于Windows 10:

tesseract-ocr-w64-setup-v5.0.0-alpha.20200328.exe(64位)。

要验证在电源外壳或cmd终端中的安装,请执行以下操作:

tesseract -v

它将输出如下内容:tesseract v5.0.0-alpha.20200328

对于Mac OS:

brew install tesseract

要验证在电源外壳或cmd终端中的安装,请执行以下操作:

tesseract -v

它将输出如下内容:tesseract 4.1.1以及已安装的图像库 Leptonica-1.80.0 libgif 5.2.1:libjpeg 9d:libpng 1.6.37:libtiff 4.1.0:zlib 1.2.11:libwebp 1.1.0:libopenjp2 2.3.1 找到了AVX2 找到AVX 发现FMA 找到上交所

如果不确定路径,只需将ara.traindata文件复制粘贴到与Python .py文件相同的文件夹中

import pytesseract
from PIL import Image
import os
os.environ["TESSDATA_PREFIX"] = "" # Leaving it empty because file is already copy pasted in the current directory
print(os.getenv("TESSDATA_PREFIX"))
# Copy paste the ara.traineddata file in the same directory as this python code
print(pytesseract.image_to_string(Image.open('cropped.png'), lang="ara"))

对于Linux / Ubuntu OS:

sudo apt-get install tesseract-ocr

验证和运行代码与Mac Os相同

还要确保路径正确。

如果成功下载ara.traineddata文件,此代码将正常工作:

import pytesseract
from PIL import Image
print(pytesseract.image_to_string(Image.open('cropped.png'), lang="ara"))

有关详细信息,您可以遵循此tutorial。这是使用所有可用语言的本教程的演示输出。

enter image description here