您好,我正在尝试使用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我没有找到一个具体的解决方案。有谁能告诉我该怎么做。任何更多的东西需要下载,或者我可以从哪里下载等等。
提前感谢:)
发布于 2017-01-18 17:18:33
我也遇到了同样的问题,在读完这篇文章后,我很快找到了解决方案:
OSError: [Errno 2] No such file or directory using pytesser
只需将其适配到Windows,替换如下代码:
tesseract_cmd = 'tesseract'通过以下方式:
tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract'(需要双\\才能转义字符串中的第一个\ )
发布于 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包
pip install pytesseract3.最后,你需要在你的路径中有tesseract二进制。
或者,您可以在运行时设置它:
import pytesseract
pytesseract.pytesseract.tesseract_cmd = '<path-to-tesseract-bin>'对于Windows
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'tessdata上面这一行可以让它暂时工作,对于永久的解决方案,将tesseract.exe添加到PATH中-例如PATH=%PATH%;"C:\Program Files (x86)\Tesseract-OCR".
TESSDATA_PREFIX
(x86)\Tesseract-OCR TESSDATA_PREFIX=C:\Program文件
例如,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'))发布于 2017-09-22 19:23:06
你需要在你的机器上安装Tesseract OCR engine ("Tesseract.exe")。如果您的计算机中未配置该路径,请在pytesseract.py(tesseract.py)中提供完整路径。
安装Google Tesseract OCR (如何在Linux、Mac OSX和Windows上安装引擎的其他信息)。您必须能够以tesseract身份调用tesseract命令。如果不是这样,例如,因为您的路径中没有tesseract,那么您将不得不更改tesseract.py顶部的"tesseract_cmd“变量。在Debian/Ubuntu下,您可以使用包tesseract-ocr。适用于Mac OS用户。请安装自制软件包tesseract。
https://stackoverflow.com/questions/41652335
复制相似问题