Pytesseract слишком медленный .. Высокий дисковый ввод-вывод - PullRequest
0 голосов
/ 21 сентября 2019

Я создаю бота для видеоигры, все работает хорошо ( благодаря некоторым элементам stackoverflow ), но время отклика pytesseract слишком велико.

Мне нужно читать изображение такого типа каждую секунду (после редактирования, чтобы превратить его в черный на белый, очень быстрый процесс, который не занимает много времени).

Я делю картинку на 9, по одной для каждой строки, а затем вызываю pytesseract.image_to_string(img) для каждой.

Этот процесс занимает около 3 секунд, и я думаю, что это можетБыстрее, учитывая, что текст короткий.

Я заметил высокий дисковый ввод / вывод в Process Hacker, см. следующий снимок экрана: Дисковый ввод / вывод

Последнийу меня такое ощущение, что это немного лучше при выполнении скрипта python от имени администратора, но я не уверен, и этого недостаточно ..

У вас есть решение, которое я могу реализовать, чтобы сделать его быстрее

1 Ответ

0 голосов
/ 22 сентября 2019

Вам нужно использовать tesseract api вместо pytesseract, который инициализирует tesseract (например, читает обученные данные) каждый раз, когда вы запускаете ocr (и сохраняете ocr-образ на диск и читаете ocr-результат с диска ...).Например, посмотрите на https://github.com/zdenop/SimpleTesseractPythonWrapper/blob/master/SimpleTesseractPythonWrapper.ipynb

...