您好我正在尝试使用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
我没有找到具体的解决方案。任何人都可以帮我做什么。还有更多要下载的内容或我可以从哪里下载等等。
提前致谢:)
答案 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)中提供完整路径。
安装Google Tesseract OCR(有关如何在Linux,Mac OSX和Windows上安装引擎的其他信息)。您必须能够以tesseract的形式调用tesseract命令。如果不是这种情况,例如因为tesseract不在您的PATH中,则必须更改tesseract.py顶部的“tesseract_cmd”变量。在Debian / Ubuntu下,您可以使用包tesseract-ocr。适用于Mac OS用户。请安装自制软件包tesseract。
答案 3 :(得分:0)
关于pytesseract,我也面临同样的问题。 我建议您在linux环境中工作,以解决此类错误。 在linux中执行以下命令:
pip install pytesseract
sudo apt-get update
sudo apt-get install pytesseract-ocr
希望这可以完成工作。