Настройка движков OCR, используемых для распознавания текста
Алексей Кабанов
ak099@mail.ru 2012

# Настройка движков OCR

OCRFeeder использует для распознавания текста установленные в системе движки оптического распознавания символов. Это означает, что любой движок OCR, который можно использовать из командной строки, может также быть использован в OCRFeeder.

# Автоматическое обнаружение движков OCR

Движки оптического распознавания (Tesseract, GOCR, Ocrad и Cuneiform) автоматически распознаются и настраиваются в большинстве систем при первом запуске OCRFeeder.

Если движок OCR установлен уже после первоначальной настройки движков в OCRFeeder, он не будет обнаружен автоматически, но пользователь может открыть диалоговое окно Движки OCR, нажать кнопку Обнаружить и выбрать его из списка обнаруженных движков.

Уже настроенные движки OCR могут быть обнаружены вновь, и если пользователь не хочет добавлять их ещё раз, он может снять с них пометки в списке.

# Настройка вручную

Текущие настроенные движки оптического распознавания отображаются в диалоговом окне Движки OCR, которое можно открыть командой меню Инструменты Движки OCR.

Помимо отображения настроенных движков оптического распознавания, диалоговое окно Движки OCR позволяет добавлять новые движки, изменять или удалять существующие и обнаруживать движки, установленные в системе.

При добавлении или изменении движка OCR (нажатием кнопок Добавить или Изменить, соответственно), открывается диалоговое окно со следующими полями:

Название: название движка, используемое в интерфейсе;

Формат изображения: формат изображений, который движок распознаёт (например, TIF для Tesseract);

Строка ошибки: некоторые движки заменяют нераспознанные символы другими, заданными заранее символами (например, _ в случае GOCR).

Путь к движку: путь к исполняемому файлу движка (например, /usr/bin/tesseract).

Аргументы движка: аргументы, передаваемые движку для загрузки изображения и перенаправления распознанного текста в стандартный поток вывода. OCRFeeder запускает движок с этими аргументами, как если бы он был запущен из командной строки, и ищет распознанный текста в стандартном потоке вывода. Некоторые движки сами направляют его туда (например, Ocrad и GOCR), в то время как другие (например, Tesseract) записывают текст в файл.

Для передачи движку пути к изображению используется специальный аргумент $IMAGE, который при запуске движка заменяется на путь к распознаваемому изображению. Если движку необходимо указать имя выходного файла (как в описанном выше случае), существует специальный аргумент $FILE, который заменяется на имя временного файла.

Таким образом, для Tesseract (который записывает распознанный текст в файл), аргументы могут быть следующими: $IMAGE $FILE; cat $FILE.txt; rm $FILE.

Настройка каждого движка хранится в отдельном XML-файле в домашней папке пользователя, в подпапке .config/ocrfeeder/engines/.