OSError:[Errno 2]没有使用pytesser的文件或目录

gra*_*ant 6 python error-handling python-tesseract pytesser

这是我的问题,我想用pytesser来获取图片的内容.我的操作系统是Mac OS 10.11,我已经安装了PIL,pytesser,tesseract-ocr引擎和其他支持库,如libpng等.但是当我运行我的代码时,如下所示,会发生错误.

from pytesser import *
import os
image = Image.open('/Users/Grant/Desktop/1.png')
text = image_to_string(image)
print text
Run Code Online (Sandbox Code Playgroud)

接下来是错误消息

Traceback (most recent call last):
File "/Users/Grant/Documents/workspace/image_test/image_test.py",    line 10, in <module>
text = image_to_string(im)
File   "/Users/Grant/Documents/workspace/image_test/pytesser/pytesser.py", line   30, in image_to_string
call_tesseract(scratch_image_name, scratch_text_name_root)
File "/Users/Grant/Documents/workspace/image_test/pytesser/pytesser.py", line 21, in call_tesseract
retcode = subprocess.call(args)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

此外,tesseract-ocr引擎在我的Mac上运行良好,我可以在终端运行它并获得结果.以下是测试图片结果. tesseract结果

有人可以帮我解决这个问题吗?

hoa*_*gpx 8

打开文件pytesseract.py.

我在 /Users/yourUser/.virtualenvs/cv/lib/python2.7/site-packages/pytesseract/pytesseract.py

更改tesseract_cmd = 'tesseract'tesseract_cmd = '/usr/local/bin/tesseract'


小智 8

幸运的是,我解决了这个问题.

首先,我运行命令

pip install pytesseract
Run Code Online (Sandbox Code Playgroud)

安装包.

但是我收到了"没有这样的文件或目录使用pytesser"的错误消息.

然后我读了这个链接:image_to_string在Mac中不起作用 所以,只需运行以下脚本:

brew link libtiff 
brew link libpng 
brew link jpeg
brew install tesseract
Run Code Online (Sandbox Code Playgroud)

为我工作〜


Lia*_*iam 6

我有同样的问题,但我设法将图像转换为字符串。使用apt-get应该可以解决问题:

sudo apt-get install tesseract-ocr
Run Code Online (Sandbox Code Playgroud)

如果您不能在 python 脚本中使用它,请执行以下操作:

from os import system

system("tesseract -l eng /image.png text.txt")
Run Code Online (Sandbox Code Playgroud)