Распознавание текста при помощи Tesseract+Python

Автор: | 11.05.2018

По роду службы, каждый месяц, у меня образовывается некоторое количество сканов документов, с которыми нужно произвести определенные действия и переместиь в архив. Перед этим всем, файлам нужно дать осмысленные имена. Так как файлов больше, чем порог терпения, я озадачился автоматическим переименованием сканов документов.

Для выполнения задачи необходима программа для оптического распознавания символов (OCR). Выбор пал на свободно распространяемый и, что не мало важно, работающий оффлайн Tesseract от Google.

В Arch Linux ставится так:

Как выяснилось, МФУ жмёт TIFF в формат, который Tesseract не воспринимает. Из за чего потребуется библиотека для работы с TIFF-изображениями:

Сначала работаем из консоли, чтобы получить proof of concept:
Преобразуем входной файл в надлежащий формат:

Выполняем распознавание символов с выводом на стандартный вывод:

В результате, файл формата A4 с разрешением 600dpi в градациях серого, распознался за 7 секунд с качеством распознавания, позволяющим осуществить поиск ключевых слов для выполнения каталогизации.

Теперь, когда мы убедились, что это возможно, пишем скрипт для автоматического выполнения всех действий.

Писать будем на Python, так что ставим модуль pytesseract:

Сам скрипт конвертирует файлы в текущей директории в удобноваримый для Tesseract вид, делает распознавание, ищет на странице номер договора и делает переименование в соответствии с правилами.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *