0

画面上の数字を検出するために現在の画面の一部をキャプチャしようとしましたが、コードを実行すると次のエラーが発生しました。

Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/bot/detect_num.py", line 12, in <module>
    print(pytesseract.image_to_string(Image.open('test.jpg')))
  File "C:\Python35\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string
    config=config)
  File "C:\Python35\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract
    stderr=subprocess.PIPE)
  File "C:\Python35\lib\subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "C:\Python35\lib\subprocess.py", line 1224, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

ソースコード:

import pyscreenshot as ImageGrab
from PIL import Image
import subprocess
from pytesseract import *

if __name__=="__main__":
    im = ImageGrab.grab(bbox=(1349, 34, 1357, 45))
    im = im.convert('1')
    im.save('test.jpg', 'JPEG')
    im.show()
    print(pytesseract.image_to_string(Image.open('test.jpg')))

理由と修正方法を教えてください。

4

3 に答える 3

0

ここでの問題は、必要な依存関係をインストールしていないことです。pyteseeractのドキュメントを読むと、次のテキストが表示されます。

  • http://code.google.com/p/tesseract-ocr/から google tesseract-ocr をインストールします。tesseract コマンドを「tesseract」として呼び出せる必要があります。これが当てはまらない場合、たとえば tesseract が PATH にないなどの理由で、「tesseract.py」の先頭にある「tesseract_cmd」変数を変更する必要があります。

まだその手順を実行していないと思うので、tesseract必要な OCR 作業を実際に実行するコマンドはありません。

于 2016-09-14T12:01:28.880 に答える