изображение в строку не работает в Mac

Я пытаюсь следовать этому примеру pytesser (ссылке) в Mac Maverick.

>>> 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

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. Программное обеспечение installed with other package Manager вызывает известные проблемы с Доморощенный. Если формула не удается построить, удалите MacPorts / Fink и попробуйте снова.

и не заметил, что ваш ответ уже был предоставлен в ответе brew:

вы должны заварить ссылку libtiff libpng jpeg, прежде чем Тессеракт может быть установленный.

так do:

brew link libtiff 
brew link libpng 
brew link jpeg

затем:

brew install tesseract

и наконец:

:)