web-dev-qa-db-ja.com

TesseractNotFoundError:tesseractがインストールされていないか、パスにありません

Tesseract-OCRを使用して画像からテキストを印刷しようとしています。しかし、上記のエラーが発生します。 https://github.com/UB-Mannheim/tesseract/wiki を使用してtesseract OCRをインストールし、pip installpytesseractを使用してanacondaプロンプトにpytesseractをインストールしましたが動いていない。誰かが同様の問題に直面した場合は助けてください。

(ベース)C:\ Users\500066016> pip install pytesseract収集pytesseractダウンロード https://files.pythonhosted.org/packages/13/56/befaafbabb36c03e4fdbb3fea854e0aea294039308a93daf6876bf7a8d6b/pytesse .gz (169kB)100%|████████████████████████████████| 174kB 288kB/s要件はすでに満たされています:c:\ users\500066016\appdata\local\continuum\anaconda3\lib\site-packagesの枕(pytesseractから)(5.1.0)収集されたパッケージのホイールの構築:pytesseractsetup.pyの実行pytesseractのbdist_wheel ...完了ディレクトリに保存:C:\ Users\500066016\AppData\Local\pip\Cache\Wheels\a8\0c\00\32e4957a46128bea34fda60b8b01a8755986415cbab3ed8e38pytesseractが正常にビルドされました

以下はコードです:

import pytesseract
import cv2
import numpy as np

def get_string(img_path):
    img = cv2.imread(img_path)
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    kernel = np.ones((1,1), np.uint8)
    dilate = cv2.dilate(img, kernel, iterations=1)
    erosion = cv2.erode(img, kernel, iterations=1)

    cv2.imwrite('removed_noise.jpg', img)
    img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
    cv2.imwrite('thresh.jpg', img)
    res = pytesseract.image_to_string('thesh.jpg')
    return res
print('Getting string from the image')
print(get_string('quotes.jpg'))

以下はエラーです:

トレースバック(最後の最後の呼び出し):

ファイル ""、1行目、runfile( 'C:/Users/500066016/.spyder-py3/project1.py'、wdir =' C:/Users/500066016/.spyder-py3 ')

ファイル "C:\ Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py"、705行目、runfile execfile(filename、namespace)

ファイル "C:\ Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py"、行102、execfile exec(compile(f.read()、filename 、 'exec')、namespace)

ファイル "C:/Users/500066016/.spyder-py3/project1.py"、23行目、print(get_string( 'quotes.jpg'))

ファイル "C:/Users/500066016/.spyder-py3/project1.py"、20行目、get_string res = pytesseract.image_to_string( 'thesh.jpg')

ファイル "C:\ Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\pytesseract\pytesseract.py"、行294、image_to_string return run_and_get_output(* args)

ファイル "C:\ Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\pytesseract\pytesseract.py"、行202、run_and_get_output run_tesseract(** kwargs)

Run_tesseractのファイル "C:\ Users\500066016\AppData\Local\Continuum\anaconda3\lib\site-packages\pytesseract\pytesseract.py"、行172、TesseractNotFoundError()を発生させる

TesseractNotFoundError:tesseractがインストールされていないか、パスにありません

2
manpreet singh

ステップ1:これからTesseract OCRをダウンロードしてインストールします リンク

ステップ2:インストール後、「Tesseract-OCR」フォルダーを見つけ、このフォルダーをダブルクリックしてtesseractを見つけます.exe

手順3:tesseract.exeを見つけたら、ファイルの場所をコピーします。

ステップ4:この場所を次のようにコードに渡します

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"

注:C:\ Program Files\Tesseract-OCR\tesseract.exe ==コピーした場所

6
Mohacel

インストールする必要があります:! apt install tesseract-ocr! apt install libtesseract-dev

そして

! pip install Pillow! pip install pytesseract

pILからpytesseractをインポートしますimportImageEnhance、ImageFilter、Image

私は実行するグ​​ーグルドライブからコーラにコードを持っています。以下のサンプルコード:

ウェブサイトのテキストの例の写真を撮りました

ステップ1:いくつかのパッケージをインポートする

import pytesseract
import cv2
import matplotlib.pyplot as plt
from PIL import Image

ステップ2:Colabにtext.pngのファイルをアップロードする

from google.colab import files
uploaded = files.upload()

current browser session. Please rerun this cell to enable.
---------------------------------------------------------------------------
MessageError                              Traceback (most recent call last)
<ipython-input-31-21dc3c638f66> in <module>()
      1 from google.colab import files
----> 2 uploaded = files.upload()

2 frames
/usr/local/lib/python3.6/dist-packages/google/colab/_message.py in read_reply_from_input(message_id, timeout_sec)
    104         reply.get('colab_msg_id') == message_id):
    105       if 'error' in reply:
--> 106         raise MessageError(reply['error'])
    107       return reply.get('data', None)
    108 
MessageError: TypeError: Cannot read property '_uploadFiles' of undefined

->心配しないでください。コードを再度実行して受け入れます。そして、アップロードしたい場合はどちらかを選択できます

ステップ3:

  • openCVを使用して画像を読む

    image = cv2.imread( "text.png")

  • またはあなたは枕を使うことができます

    image = Image.open( "text.png")

  • 確認してください。ファイルのテキスト画像を表示してもらいます。

    画像

文字列を取得します

string = pytesseract.image_to_string(image)

印刷する

print(string)

完了。役に立ちました。

1
PDA PHAM