2014-01-10 15 views
6

Ich versuche, dieses Beispiel von pytesser (link) in einem Mac Maverick zu folgen.image_to_string funktioniert nicht in Mac

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

Aber in der letzten Zeile bekomme ich diese Fehlermeldung:

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 

Aber ich verstehe nicht, was ich tun soll. Der Fototest der Datei befindet sich im selben Ordner, in dem ich das Skript ausführe. Wie behebe ich das?

UPDATE:

Wenn ich versuche,

brew install tesseract 

ich diesen Fehler:

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

Es sieht aus wie das Skript Probleme beim Starten eines Prozesses hat ... und es sieht aus wie das gleiche Problem beschrieben in https://code.google.com/p/pytesser/wiki/ README Die Distribution wird mit einer ausführbaren Windows-Datei geliefert, die auf dem Mac nicht funktioniert. Wie die Linux-Leute, die dort erwähnt werden, müssen Sie wahrscheinlich eine Tessact-Executable liefern. – Luis

+0

Bekam es. Aber kann ich das tun? –

+0

Ich bin sicher, es ist machbar, aber ich kenne die Details nicht: Die Frage sollte für Tessact-Benutzer getaggt werden. – Luis

Antwort

8

Ich hatte tatsächlich den gleichen Fehler wie Sie, das ist, wie ich diesen Beitrag gefunden. Ich habe auch die Lösung für mein Problem, weil du es mir gegeben hast!

ich sah:

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 

Wollen Sie wissen, was ich dieses Problem beheben zu tun hatte? Genau das, was Sie versucht haben: brew install tesseract Ich hatte die Tesseract Python-Bibliothek installiert, hatte sie aber nicht auf Systemebene installiert. Damit löst sich mein Problem. Was ist mit dir?

Ich glaube, Sie könnten durch diese abgelenkt wurden:

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.

Und nicht bemerkt Ihre Antwort bereits in der Brau Antwort zur Verfügung gestellt wurde:

You must brew link libtiff libpng jpeg before tesseract can be installed.

So tun:

brew link libtiff 
brew link libpng 
brew link jpeg 

Dann:

brew install tesseract 

Endlich:

:) 
+0

Es funktioniert für mich Danke !! Mac OS High Sierra, Python 3 =) –