Использование PyTesseract для извлечения текста из нескольких файлов одновременно - PullRequest
1 голос
/ 26 мая 2020

Я создаю службу Python, которая получает пакет изображений, запускает их индивидуально через PyTesseract с помощью метода pytesseract.image_to_string и возвращает текст, извлеченный из каждого из них внутри списка. Он работает нормально, но мы стремились улучшить его производительность. Наша первая попытка заключалась в использовании pool.map из библиотеки многопроцессорности Python, чтобы разбить список изображений на более мелкие части и обработать их с использованием разных ядер. Но время обработки на самом деле увеличилось.

Итак, мы начали искать возможность отправлять все изображения одновременно в PyTesseract, надеясь, что тот факт, что они будут загружены только один раз, улучшит сервис. PyTesseract позволяет это сделать с помощью команды pytesseract.image_to_string('images.txt') с передаваемым текстовым файлом, содержащим адрес, по которому сохраняется каждое изображение.

Это заметно ускорило обработку. К сожалению, PyTesseract фактически объединяет текст, извлеченный из всех изображений в файле, в одну большую строку, что делает практически невозможным узнать, какая часть текста взята из какого изображения.

Итак, мой вопрос: есть ли надежный способ делать то, что мы пытаемся сделать, независимо от того, использует ли он сам PyTesseract или другую библиотеку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...