これが私の問題です。pytesserを使用して画像の内容を取得したいと思います。私のオペレーティングシステムはMacOS 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でうまく動作し、ターミナルで実行して結果を得ることができます。以下はテスト画像の結果です。 正八胞体の結果
誰かがこの質問で私を助けてくれますか?
幸いなことに、私はこれを解決しました。
最初に、コマンドを実行します
pip install pytesseract
パッケージをインストールします。
しかし、「pytesserを使用しているそのようなファイルまたはディレクトリはありません」というエラーメッセージが表示されます。
次に、このリンクを読みます: image_to_stringはMacでは機能しません したがって、次のスクリプトを実行するだけです。
brew link libtiff
brew link libpng
brew link jpeg
brew install tesseract
私のために働いた〜
ファイルを開くpytesseract.py。
鉱山は/Users/yourUser/.virtualenvs/cv/lib/python2.7/site-packages/pytesseract/pytesseract.py
変化する tesseract_cmd = 'tesseract'
からtesseract_cmd = '/usr/local/bin/tesseract'
同じ問題が発生しましたが、画像を文字列に変換することができました。 apt-get
を使用すると、次のトリックを実行できます。
Sudo apt-get install tesseract-ocr
pythonスクリプトで使用できない場合は、次のようにしてください。
from os import system
system("tesseract -l eng /image.png text.txt")
サブプロセスがバイナリ(tesser実行可能ファイル)を見つけることができないため、例外が発生します。
インストールは3ステップのプロセスです。
1。システムレベルのライブラリ/バイナリのダウンロード/インストール:
さまざまなOSについて、ここに help があります。 MacOSの場合、brewを使用して直接インストールできます。
Google Tesseract OCRをインストールします(Linux、Mac OSX、およびWindowsにエンジンをインストールする方法に関する追加情報)。 tesseractコマンドをtesseractとして呼び出すことができる必要があります。これが当てはまらない場合、たとえばtesseractがPATHにない場合は、tesseract.pyの上部にある「tesseract_cmd」変数を変更する必要があります。 Debian/Ubuntuでは、tesseract-ocrパッケージを使用できます。 MacOSユーザー向け。自作パッケージtesseractをインストールしてください。
yum
--from SO answer --/usr/bin/yum --enablerepo epel-testing install tesseract.x86_64
を使用する
2。インストールPythonパッケージ
pip install pytesseract
3。最後に、PATHにtesseractバイナリが必要です。
または、実行時に設定できます。
import pytesseract
pytesseract.pytesseract.tesseract_cmd = '<path-to-tesseract-bin>'
デフォルトのパス 'dは/usr/local/bin/tesseract
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')))
MacOSとUbuntuの両方で、同じ問題が2回発生します。これは私と一緒に働いた。それが役立つことを願っています。
まず、ターミナルを開き、次に:
これはすべての人に当てはまるわけではないかもしれませんが、私は同様の問題を抱えていました。それは、tesseractのインストール時にエラーが発生したことが原因でした。エラーメッセージが表示され続けました:
Making install in ccutil
/bin/sh: /Applications/Xcode: No such file or directory
make: *** [install-recursive] Error 1
これは、システムにインストールされているさまざまなXcodeバージョンを簡単に区別できるようにするために、以前に/ Applications/Xcodeの名前を/ Applications/Xcode8に変更したことが原因でした。
一時的に名前を/ Applications/Xcodeに戻し、コマンドを実行しました
Sudo xcode-select --switch /Applications/Xcode.app
その後、ついにtesseractを再インストールしようとしましたが、今回はありがたいことにエラーメッセージは表示されませんでした。
brew install tesseract --all-languages
これでPythonコードは正常に実行され、「OSError:[Errno2]そのようなファイルまたはディレクトリはありません」というエラーメッセージは表示されません。