首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pytesseract错误Windows错误[错误2]

pytesseract错误Windows错误[错误2]
EN

Stack Overflow用户
提问于 2017-01-15 00:34:40
回答 4查看 8.2K关注 0票数 3

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

代码语言:javascript
复制
from PIL import Image
from pytesseract import image_to_string
print image_to_string(Image.open(r'D:\new_folder\img.png'))

但出现了以下错误:

代码语言:javascript
复制
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

我没有找到一个具体的解决方案。有谁能告诉我该怎么做。任何更多的东西需要下载,或者我可以从哪里下载等等。

提前感谢:)

EN

回答 4

Stack Overflow用户

发布于 2017-01-18 17:18:33

我也遇到了同样的问题,在读完这篇文章后,我很快找到了解决方案:

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

只需将其适配到Windows,替换如下代码:

代码语言:javascript
复制
tesseract_cmd = 'tesseract'

通过以下方式:

代码语言:javascript
复制
tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract'

(需要双\\才能转义字符串中的第一个\ )

票数 4
EN

Stack Overflow用户

发布于 2017-09-26 15:38:49

因为子进程找不到二进制文件(tesser可执行文件),所以会出现异常。

安装过程分为3个步骤:

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

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

安装Google Tesseract OCR (如何在Linux,Mac和Windows上安装引擎的附加信息)。您必须能够以tesseract身份调用tesseract命令。如果不是这样,例如,因为您的路径中没有tesseract,那么您将不得不更改tesseract.py顶部的“tesseract_cmd”变量。在Debian/Ubuntu下,您可以使用包tesseract-ocr。适用于Mac OS用户。请安装自制软件包tesseract。

对于

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

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

可以从下载 .exe

2.安装Python包

代码语言:javascript
复制
pip install pytesseract

3.最后,你需要在你的路径中有tesseract二进制。

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

代码语言:javascript
复制
import pytesseract

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

对于Windows

代码语言:javascript
复制
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'

tessdata上面这一行可以让它暂时工作,对于永久的解决方案,将tesseract.exe添加到PATH中-例如PATH=%PATH%;"C:\Program Files (x86)\Tesseract-OCR".

  • Beside,确保将TESSDATA_PREFIX

  • 环境变量设置为包含tessdata目录的目录。例如:

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

例如,tessdata的位置是:C:\Program Files (x86)\Tesseract-OCR\tessdata

您的示例:

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2017-09-22 19:23:06

你需要在你的机器上安装Tesseract OCR engine ("Tesseract.exe")。如果您的计算机中未配置该路径,请在pytesseract.py(tesseract.py)中提供完整路径。

README

安装Google Tesseract OCR (如何在Linux、Mac OSX和Windows上安装引擎的其他信息)。您必须能够以tesseract身份调用tesseract命令。如果不是这样,例如,因为您的路径中没有tesseract,那么您将不得不更改tesseract.py顶部的"tesseract_cmd“变量。在Debian/Ubuntu下,您可以使用包tesseract-ocr。适用于Mac OS用户。请安装自制软件包tesseract。

Another thread

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41652335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档