2016-09-14 11 views
0

Я пытаюсь захватить часть текущего экрана, чтобы обнаружить некоторое число на экране, но когда код запуска получил эту ошибку:питон FileNotFoundError при использовании pytesseract

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

Пожалуйста, скажите мне, почему и как это исправить?

+0

Возможный дубликат [ "WindowsError: \ [Error 2 \] Система не может найти указанный файл «не разрешается» (http://stackoverflow.com/questions/18757127/windowserror-error-2-the-system-cannot-find-the-file-specified-is-not-resol) –

+0

Я попытался удалить строку при вызове подпроцесса (еще один ответ сообщите, добавьте его для исправления) и добавьте некоторую строку этого anwser в ваш запрос, но он все еще ошибка :(. @PavneetSingh – AlphaWolf

ответ

0

Проблема в том, что вы не установили необходимую зависимость. Когда вы читаете pyteseeract's documentation вы увидите следующий текст:

  • Установка Google тессеракт-OCr от http://code.google.com/p/tesseract-ocr/. Вы должны иметь возможность вызвать команду tesseract как «tesseract». Если это не так, например, потому что tesseract не находится в вашем PATH, вы должны изменить переменную «tesseract_cmd» в верхней части «tesseract.py».

Предполагаю, что вы еще не выполнили этот шаг, поэтому нет команды tesseract, чтобы выполнить требуемую работу OCR.

0

Когда вы используете pytesseract, сначала вам нужно убедиться, что вы установили Tesseract-OCR в свою систему. Затем вы должны ввести путь тессеракта в вашем коде, как показано ниже

from PIL import Image 
import pytesseract 

pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract 
OCR/tesseract' 

Вы можете загрузить форму Тессеракт-OCR https://github.com/UB-Mannheim/tesseract/wiki