pytesseract错误Windows错误[错误2]

时间:2017-01-14 16:34:40

标签: python ocr python-tesseract windowserror

您好我正在尝试使用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

我没有找到具体的解决方案。任何人都可以帮我做什么。还有更多要下载的内容或我可以从哪里下载等等。

提前致谢:)

4 个答案:

答案 0 :(得分:4)

我遇到了同样的麻烦,并在阅读完这篇文章后很快找到了解决方案:

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

只需要将其改编为Windows,替换以下代码:

tesseract_cmd = 'tesseract'

使用:

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

(需要双\\来转义字符串中的第一个\

答案 1 :(得分:2)

您正在获得异常,因为子进程无法找到二进制文件(tesser可执行文件)。

安装过程分为3个步骤:

1. 下载/安装系统级libs / binaries

对于各种操作系统,这里是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'))

答案 2 :(得分:0)

您需要在机器中安装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

答案 3 :(得分:0)

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

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

希望这可以完成工作。