image_to_string 在 Mac 中不起作用

Posted

技术标签:

【中文标题】image_to_string 在 Mac 中不起作用【英文标题】:image_to_string doesn't work in Mac 【发布时间】:2014-01-29 17:27:55 【问题描述】:

我正在尝试在 Mac Maverick 中遵循这个 pytesser (link) 示例。

>>> from pytesser import *
>>> im = Image.open('phototest.tif')
>>> text = image_to_string(im)

但是,在最后一行我得到了这个错误信息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pytesser.py", line 31, in image_to_string
    call_tesseract(scratch_image_name, scratch_text_name_root)
  File "pytesser.py", line 21, in call_tesseract
    proc = subprocess.Popen(args)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1308, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

但是,我不明白我应该做什么。文件 phototest 在我运行脚本的同一个文件夹中。如何解决这个问题?

更新:

当我尝试时

brew install tesseract

我收到此错误:

Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
Error: You must `brew link libtiff libpng jpeg' before tesseract can be installed

【问题讨论】:

看起来您的脚本在启动进程时遇到了问题……而且看起来与code.google.com/p/pytesser/wiki/README 中描述的问题相同。该发行版附带了一个 Windows 可执行文件,并且在 Mac 上无法运行。正如那里的 Linux 人员所提到的,您可能需要提供 tessact 可执行文件。 知道了。但是我可以这样做吗? 我确定这是可行的,但我不知道细节:应该为 tessact 用户标记问题。 好的,已经标记了 tesseract 主题 你可以用brew install tesseract安装tesseract 【参考方案1】:

我实际上和你有同样的错误,这就是我找到这篇文章的方式。我也有解决问题的办法,因为你给了我!

我看到了:

ryan.davis$ python tesseract.py
Traceback (most recent call last):
  File "tesseract.py", line 52, in <module>
    print (image_to_string(big))
  File "/usr/local/lib/python2.7/site-packages/pytesseract/pytesseract.py", line 161, in image_to_string
    config=config)
  File "/usr/local/lib/python2.7/site-packages/pytesseract/pytesseract.py", line 94, in run_tesseract
    stderr=subprocess.PIPE)
  File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/local/Cellar/python/2.7.10_2/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

想知道我必须做些什么来解决这个问题吗?正是您尝试的:brew install tesseract 我已经安装了 tesseract python 库,但没有在系统级别安装它。这样就解决了我的问题。你的呢?

我想你可能已经分心了:

警告:您似乎安装了 MacPorts 或 Fink。软件 与其他包管理器一起安装会导致已知问题 自制。如果公式构建失败,请卸载 MacPorts/Fink 并尝试 再次。

并没有注意到 brew 响应中已经提供了您的答案:

你必须在 tesseract 之前 brew link libtiff libpng jpeg 已安装。

这样做:

brew link libtiff 
brew link libpng 
brew link jpeg

然后:

brew install tesseract

最后:

:)

【讨论】:

对我有用 谢谢!! Mac OS High Sierra,python 3 =)

以上是关于image_to_string 在 Mac 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

颤振热重新加载在android studio(mac)中不起作用

Git选项卡完成在mac上的zsh中不起作用

多处理、动态嵌套管理器在 Windows 中不起作用(在 Mac 上很好)

EOF 在 Mac Xcode (C) 中不起作用?

AppleScriptTask 命令在 Excel 2016 for Mac VBA 中不起作用

上传表单在 Mac OS X 的 Firefox 3 中不起作用?