【问题标题】:pytesseract error Windows Error [Error 2]pytesseract 错误 Windows 错误 [错误 2]
【发布时间】:2017-01-14 16:34:39
【问题描述】:

您好,我正在尝试使用 python 库 pytesseract 从图像中提取文本。 请找到代码:

from PIL import Image
from pytesseract import image_to_string
print image_to_string(Image.open(r'D:\new_folder\img.png'))

但出现以下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string
config=config)
File "C:\Python27\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract
stderr=subprocess.PIPE)
File "C:\Python27\lib\subprocess.py", line 710, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

我没有找到具体的解决方案。谁能帮我做什么。还有什么要下载的或者我可以从哪里下载等等。

提前致谢:)

【问题讨论】:

    标签: python ocr python-tesseract windowserror


    【解决方案1】:

    我也遇到了同样的问题,看完这篇文章很快就找到了解决办法:

    OSError: [Errno 2] No such file or directory using pytesser

    只需要适配Windows,替换如下代码:

    tesseract_cmd = 'tesseract'
    

    与:

    tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract'
    

    (需要双 \\ 在字符串中首先转义 \

    【讨论】:

      【解决方案2】:

      您收到异常是因为子进程无法找到二进制文件(tesser 可执行文件)。

      安装过程分为 3 步:

      1.下载/安装系统级库/二进制文件

      对于各种操作系统,这里是help。对于 MacOS,您可以使用 brew 直接安装它。

      安装 Google Tesseract OCR(有关如何安装 Linux、Mac OSX 和 Windows 上的引擎)。您必须能够调用 tesseract 命令作为 tesseract。如果不是这种情况,例如 因为 tesseract 不在您的 PATH 中,所以您必须更改 tesseract.py 顶部的“tesseract_cmd”变量。在下面 Debian/Ubuntu 你可以使用包 tesseract-ocr。对于 Mac OS 用户。 请安装自制软件包 tesseract。

      对于Windows

      旧版本 3.02 的安装程序可用于 Windows,从 我们的下载页面。这包括英语训练数据。如果你 想使用另一种语言,下载相应的训练数据, 使用 7-zip 解压,然后将 .traineddata 文件复制到 'tessdata' 目录,可能是C:\Program Files\Tesseract-OCR\tessdata

      要从任何位置访问 tesseract-OCR,您可能需要添加 tesseract-OCR 二进制文件所在的目录到 Path 变量,可能是C:\Program Files\Tesseract-OCR

      可以从here下载 .exe


      2.安装 Python 包

      pip install pytesseract
      

      3.最后,您需要在 PATH 中包含 tesseract 二进制文件

      或者,您可以在运行时设置它:

      import pytesseract
      
      pytesseract.pytesseract.tesseract_cmd = '<path-to-tesseract-bin>'
      

      对于Windows

      pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'
      
      • 以上行将使其暂时工作,对于永久解决方案,将tesseract.exe 添加到PATH - 例如PATH=%PATH%;"C:\Program Files (x86)\Tesseract-OCR"。

      • 除此之外,确保将TESSDATA_PREFIX Windows 环境变量设置为包含 tessdata 目录的目录。例如:

        TESSDATA_PREFIX=C:\Program Files (x86)\Tesseract-OCR

      即tessdata位置是:C:\Program Files (x86)\Tesseract-OCR\tessdata


      你的例子:

      from PIL import Image
      import pytesseract
      
      pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'
      print pytesseract.image_to_string(Image.open(r'D:\new_folder\img.png'))
      

      【讨论】:

        【解决方案3】:

        您需要在您的机器上安装 Tesseract OCR 引擎(“Tesseract.exe”)。如果您的机器中没有配置路径,请在 pytesseract.py(tesseract.py) 中提供完整的路径。

        README

        安装 Google Tesseract OCR(有关如何在 Linux、Mac OSX 和 Windows 上安装引擎的附加信息)。您必须能够以 tesseract 的形式调用 tesseract 命令。如果不是这种情况,例如因为 tesseract 不在您的 PATH 中,您将不得不更改 tesseract.py 顶部的“tesseract_cmd”变量。在 Debian/Ubuntu 下,您可以使用包 tesseract-ocr。对于 Mac OS 用户。请安装自制软件包 tesseract。

        Another thread

        【讨论】:

          【解决方案4】:

          关于 pytesseract,我也遇到了同样的问题。 我建议你在linux环境下工作,以解决此类错误。 在 linux 中执行以下命令:

          pip install pytesseract
          sudo apt-get update
          sudo apt-get install pytesseract-ocr
          

          希望这会成功..

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-08-23
            相关资源
            最近更新 更多