12

这是我的问题,我想使用 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

接下来是错误信息

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

此外,tesseract-ocr 引擎在我的 Mac 上运行良好,我可以在终端中运行它并得到结果。下面是测试图片结果。 正方体结果

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

4

7 回答 7

11

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

首先,我运行命令

pip install pytesseract

安装软件包。

但我收到“没有使用 pytesser 的此类文件或目录”的错误消息。

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

brew link libtiff 
brew link libpng 
brew link jpeg
brew install tesseract

为我工作~

于 2016-12-08T08:39:39.790 回答
8

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

sudo apt-get install tesseract-ocr

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

from os import system

system("tesseract -l eng /image.png text.txt")
于 2017-04-25T19:10:42.000 回答
8

打开文件pytesseract.py

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

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

于 2016-03-02T01:21:11.557 回答
4

您遇到异常是因为子进程无法找到二进制文件(tesser 可执行文件)。

安装是一个 3 步过程:

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

对于各种操作系统,这里是帮助。对于 MacOS,您可以使用 brew 直接安装它。

安装 Google Tesseract OCR(有关如何在 Linux、Mac OSX 和 Windows 上安装引擎的附加信息)。您必须能够以 tesseract 的形式调用 tesseract 命令。如果不是这种情况,例如因为 tesseract 不在您的 PATH 中,您将不得不更改 tesseract.py 顶部的“tesseract_cmd”变量。在 Debian/Ubuntu 下,您可以使用包 tesseract-ocr。对于 Mac OS 用户。请安装自制软件包 tesseract。


2.安装Python包

pip install pytesseract

3.最后,您需要在 PATH 中有 tesseract 二进制文件

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

import pytesseract

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

默认路径是/usr/local/bin/tesseract

于 2017-09-26T07:47:28.193 回答
2

您需要安装 tesseract-ocr:

sudo apt-get install tesseract-ocr

并且在脚本中

    from PIL import Image
    import os
    import pytesseract

    text = pytesseract.image_to_string(Image.open(os.path.abspath('test.png')))
于 2017-10-18T05:42:48.470 回答
1

对于 MacOS 和 Ubuntu,我两次遇到同样的问题。这对我有用。希望它能有所帮助。

首先,打开终端,然后:

于 2017-09-29T16:24:33.960 回答
0

这可能不是每个人的情况,但我遇到了类似的问题,这是由于安装 tesseract 时出错。我不断收到错误消息:

Making install in ccutil
/bin/sh: /Applications/Xcode: No such file or directory
make: *** [install-recursive] Error 1

这是因为我之前将 /Applications/Xcode 重命名为 /Applications/Xcode 8,以便我自己更容易区分安装在我的系统上的不同 Xcode 版本。

我暂时将其重命名回 /Applications/Xcode 然后运行命令

sudo xcode-select --switch /Applications/Xcode.app

然后终于尝试重新安装 tesseract,幸运的是这次没有错误消息。

brew install tesseract --all-languages

现在 Python 代码运行良好,我没有收到“OSError: [Errno 2] No such file or directory”错误消息。

于 2017-01-21T21:16:33.737 回答