【问题标题】:TesseractNotFoundError: tesseract is not installed or it's not in your pathTesseractNotFoundError: tesseract 未安装或不在您的路径中
【发布时间】:2019-01-11 14:55:51
【问题描述】:

我正在尝试使用 tesseract-OCR 从图像中打印文本。但我收到上述错误。我已经使用 https://github.com/UB-Mannheim/tesseract/wiki 和 pytesseract 在 anaconda 提示符中使用 pip install pytesseract 安装了 tesseract OCR,但它不起作用。如果有人遇到类似问题,请提供帮助。

Collecting pytesseract
  Downloading https://files.pythonhosted.org/packages/13/56/befaafbabb36c03e4fdbb3fea854e0aea294039308a93daf6876bf7a8d6b/pytesseract-0.2.4.tar.gz (169kB)
    100% |████████████████████████████████| 174kB 288kB/s
Requirement already satisfied: Pillow in c:\users\500066016\appdata\local\continuum\anaconda3\lib\site-packages (from pytesseract) (5.1.0)
Building wheels for collected packages: pytesseract
  Running setup.py bdist_wheel for pytesseract ... done
  Stored in directory: C:\Users\500066016\AppData\Local\pip\Cache\wheels\a8\0c\00\32e4957a46128bea34fda60b8b01a8755986415cbab3ed8e38
Successfully built pytesseract

下面是代码:

import pytesseract
import cv2
import numpy as np

def get_string(img_path):
    img = cv2.imread(img_path)
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    kernel = np.ones((1,1), np.uint8)
    dilate = cv2.dilate(img, kernel, iterations=1)
    erosion = cv2.erode(img, kernel, iterations=1)

    cv2.imwrite('removed_noise.jpg', img)
    img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
    cv2.imwrite('thresh.jpg', img)
    res = pytesseract.image_to_string('thesh.jpg')
    return res
print('Getting string from the image')
print(get_string('quotes.jpg'))

以下是错误:

Traceback (most recent call last):

  File "<ipython-input-2-cf6e0fca14b4>", line 1, in <module>
    runfile('C:/Users/500066016/.spyder-py3/project1.py', wdir='C:/Users/500066016/.spyder-py3')

  File "C:\Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "C:\Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/500066016/.spyder-py3/project1.py", line 23, in <module>
    print(get_string('quotes.jpg'))

  File "C:/Users/500066016/.spyder-py3/project1.py", line 20, in get_string
    res = pytesseract.image_to_string('thesh.jpg')

  File "C:\Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\pytesseract\pytesseract.py", line 294, in image_to_string
    return run_and_get_output(*args)

  File "C:\Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\pytesseract\pytesseract.py", line 202, in run_and_get_output
    run_tesseract(**kwargs)

  File "C:\Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\pytesseract\pytesseract.py", line 172, in run_tesseract
    raise TesseractNotFoundError()

TesseractNotFoundError: tesseract is not installed or it's not in your path```

【问题讨论】:

    标签: python python-3.x image-processing python-tesseract


    【解决方案1】:

    第 1 步:从 link 下载并安装 Tesseract OCR。

    第二步:安装后找到“Tesseract-OCR”文件夹,双击该文件夹,找到tesseract.exe

    第三步:找到tesseract.exe后,复制文件位置。

    第 4 步:像这样将此位置传递到您的代码中

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

    注意:C:\Program Files\Tesseract-OCR\tesseract.exe == 您复制的位置

    【讨论】:

    • 哇,像魅力一样工作,我什至不需要添加 PATH,谢谢。
    • 这是步骤 1 中的源文件夹:digi.bib.uni-mannheim.de/tesseract。您可能会在那里找到较新版本的 Tesseract OCR。
    【解决方案2】:

    你应该安装:

    ! apt install tesseract-ocr
    ! apt install libtesseract-dev
    

    ! pip install Pillow
    ! pip install pytesseract
    
    import pytesseract
    from PIL import ImageEnhance, ImageFilter, Image
    

    我有来自谷歌驱动器的可乐代码运行。下面是我的示例代码:

    我在网站上拍摄了任何文本图片

    第一步:导入一些包

    import pytesseract
    import cv2
    import matplotlib.pyplot as plt
    from PIL import Image
    

    第 2 步:在 Colab 上上传 text.png 文件

    from google.colab import files
    uploaded = files.upload()
    
    current browser session. Please rerun this cell to enable.
    ---------------------------------------------------------------------------
    MessageError                              Traceback (most recent call last)
    <ipython-input-31-21dc3c638f66> in <module>()
          1 from google.colab import files
    ----> 2 uploaded = files.upload()
    
    2 frames
    /usr/local/lib/python3.6/dist-packages/google/colab/_message.py in read_reply_from_input(message_id, timeout_sec)
        104         reply.get('colab_msg_id') == message_id):
        105       if 'error' in reply:
    --> 106         raise MessageError(reply['error'])
        107       return reply.get('data', None)
        108 
    MessageError: TypeError: Cannot read property '_uploadFiles' of undefined
    

    -> 别担心,请再次运行代码它会接受它。然后,您可以选择要上传的内容

    第 3 步:

    • 使用 OpenCV 读取图像

      image = cv2.imread("text.png")

    • 或者你可以使用枕头

      image = Image.open("text.png")

    • 检查一下。让他们显示文件文本图片。

      图片

    获取字符串

    string = pytesseract.image_to_string(image)
    

    打印出来

    print(string)
    

    完成。

    【讨论】:

      猜你喜欢
      • 2020-08-26
      • 2020-04-10
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 2018-04-17
      • 2017-03-15
      • 2018-09-12
      • 2016-09-14
      相关资源
      最近更新 更多