Журнал LinuxFormat - перейти на главную

LXF150:YAGF

Материал из Linuxformat
Версия от 16:16, 2 сентября 2014; 2sash-kan (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

YAGF Оболочка для систем OCR

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

CuneiForm – в переводе с английского «клинопись»; это система оптического распознавания текстов, разработанная российской компанией Cognitive Technologies. Первоначально она разрабатывалась как коммерческий проект, поставляясь с некоторыми моделями сканеров, но после нескольких лет перерыва в разработке Cognitive Technologies проект освободила, прекратив также разработку и продажу CuneiForm. Данный обзор посвящен одной из графических оболочек, доступных для CuneiForm – YAGF. Программа распространяется под лицензией GPLv3; написал ее наш соотечественник [и постоянный автор LXF, – прим. ред.] Андрей Боровский.

YAGF – Yet Another Graphic Front-end for Cuneiform – предоставляет графический интерфейс для консольных программ распознавания текстов Cuneiform и Tesseract на платформе Linux. Кроме того, YAGF позволяет управлять сканированием изображений, импортом страниц из документов PDF, их предварительной обработкой и собственно распознаванием. YAGF упрощает последовательное распознавание большого числа сканированных страниц.

YAGF необходимы библиотеки Qt 4.x и пакет проверки орфографии aspell. Если вы хотите управлять сканированием изображений напрямую из YAGF, установите программу XSane. Для распознвания текста потребуется либо cuneiform, либо tesseract. Для импорта страниц из файлов PDF необходимо установить утилиту pdftoppm или пакет GhostScript (который содержит программу gs). YAGF можно установить во всех основных популярных дистрибутивах, добавив специальный репозиторий в менеджер пакетов. Описывать детальный процесс установки не имеет смысла, так как в каждом дистрибутиве свои правила установки приложений.

Работа в YAGF состоит из нескольких этапов:

  • Получение изображения (серии изображений) или страниц
  • Подготовка к распознаванию (если необходимо)
  • Распознавание
  • Сохранение результатов

Использовать файлы изображений, сохраненные на жестком диске, или отсканировать новое изображение не составляет труда. Чтобы загрузить изображение, воспользуйтесь командой Файл > Открыть (можно открыть несколько файлов сразу). Вы также можете перетащить графические файлы мышью на темную полосу в левой части главного окна программы, в результате чего они будут загружены в окно приложения. YAGF поддерживает все основные растровые графические форматы (JPEG, PNG, BMP, TIFF, GIF, PNM, PPM, PBM и другие). Если имя открытого файла имеет вид nameXXX.ext, где XXX – последовательность цифр, вы можете переходить к предыдущему/следующему файлу с помощью кнопок перехода, расположенных на панели быстрого доступа. Например, если вы открыли файл MyPage06.jpg, то при щелчке кнопки перехода к следующему изображению программа попытается открыть файл MyPage07.jpg.

Получать изображения напрямую со сканера можно с помощью программы XSane. Находясь в YAGF, выберите Файл > Сканировать. Будет запущена программа XSane. Настройте параметры сканирования в XSane и нажмите кнопку «Сканировать». По окончании сканирования в окне просмотра изображений YAGF появится отсканированное изображение. Если вам нужно отсканировать несколько изображений, выполняйте эти операции несколько раз (в окне просмотра изображений всегда будет открыто последнее отсканированное изображение; вы можете перейти к предыдущим изображениям, используя команды перемещения). В YAGF можно работать, не закрывая окно XSane. При выходе из YAGF открытое программой окно XSane закроется автоматически. Для перехода к другим отсканированным изображениям пользуйтесь кнопками с панели быстрого доступа. Все полученные изображения отображаются в уменьшенном виде на панели изображений в левой части главного окна программы. Вы можете сохранить эти изображения в отдельную директорию с помощью кнопки «Сохранить».

Можно импортировать страницы из незашифрованных файлов PDF. Для этого воспользуйтесь командой «Файл > Импорт из документа PDF...». В открывшемся диалоговом окне вам будет предложено выбрать файл PDF и режим экспорта (интервал страниц или весь документ). Затем вам предложат выбрать пустую директорию для сохранения импортированных страниц или создать новую.

В YAGF можно выполнять простые операции подготовки отсканированного изображения: выделение блока текста для распознавания и поворот. Если изображение ориентировано неправильно, его можно повернуть на 90 градусов по и против часовой стрелки, или на 180 градусов. Делается это с помощью кнопок панели быстрого доступа в окне просмотра изображений. Если нужно передать на распознавание не все отсканированное изображение, а его часть, необходимо выделить мышью один или несколько прямоугольных блоков в окне просмотра изображений. Если щелкнуть левой кнопкой мыши по существующему блоку, его цвет изменится на розовый. Теперь размер выбранного блока можно изменить, «ухватившись» мышью за край блока. А если щелкнуть в окне изображения правой кнопкой мыши, то появится контекстное меню, с помощью которого можно удалить все выделенные блоки, удалить выбранный блок или распознать текст выбранного блока.

Для удобства выделения блоков можно уменьшить или увеличить размеры изображения в окне просмотра (эта операция не влияет на размеры изображения, передаваемого программе cuneiform). Изменение видимых размеров изображения можно выполнить также с помощью комбинаций клавиш Ctrl+ и Ctrl-, или вращая колесико мыши, удерживая при этом клавишу Ctrl (точно так же можно изменить размеры шрифта в окне просмотра текста).

Если в программе открыто несколько страниц и для каждой выбраны свои ориентация и масштаб и выделены свои блоки, YAGF запомнит эти параметры для каждой страницы.

Если страница отсканирована неровно, с наклоном, можно попробовать исправить это с помощью функции «Исправить наклон страницы». Для этого предусмотрена специальная кнопка. Поскольку исходное изображение всегда сохраняется, можно вернуться к нему в случае ошибки.


Начиная с версии 0.8.7, имеется возможность выбирать программу распознавания – cuneiform или tesseract (меню «Настройки > Настройки программ распознавания»). Программа tesseract, начиная с версии 3.0, позволяет распознавать некоторые языки, не поддерживаемые cuneiform (греческий, финский и т. д.). Соответствующие языки помечены в списке языков распознавания меткой «только tesseract». Если вы выбрали tesseract для распознавания текстов, убедитесь, что в вашей системе установлены файлы данных для тех языков, на которых вы собираетесь выполнять распознавание.

Приступая к работе, необходимо выбрать подходящий язык распознавания (или пару языков, если распознаваемый документ написан на нескольких языках). Cuneiform позволяет распознавать тексты почти на всех европейских языках, а также тексты, содержащие пару языков русский–английский.

Каждый новый распознанный фрагмент текста (выделенный блок или новая страница) добавляется в редактор распознанного текста в виде нового абзаца.

По умолчанию YAGF выполняет проверку орфографии распознанного текста с помощью libaspell. Обычно в системе устанавливаются орфографические словари для «родной» локали системы и английского. Если вы хотите проверять орфографию для текстов на других языках, установите соответствующие словари (они должны быть в репозитории вашей системы). Если YAGF не находит нужного словаря для проверки орфографии для заданного языка распознавания, программа предупреждает вас об этом. Отключите проверку орфографии, если не хотите получать такие предупреждения.

Если нужно распознать текст сразу с нескольких изображений, можно воспользоваться пакетным распознаванием. Для этого все изображения, которые требуется распознать, должны быть открыты на панели изображений (в левой части окна программы). Щелкните кнопку «Распознать все страницы». Все открытые изображения будут загружаться и распознаваться автоматически. При этом будет выведено диалоговое окно, отображающее ход распознавания. Вы можете остановить процесс пакетного распознавания, щелкнув кнопку «Прервать». Если на распознаваемых страницах выделены блоки, будет распознан только текст внутри блоков.

Распознанный текст может быть сохранен на диске в текстовом формате (кодировка UTF-8) и в формате HTML, или скопирован в буфер обмена. Кнопка «Копировать текст в буфер обмена» заносит в буфер выделенный фрагмент распознанного текста или весь текст, если в редакторе отсутствует выделение.

Новейшая версия YAGF – 0.8.7, обновлена 29 августа 2011 года (главные новшества – поддержка tesseract и импорт страниц из файлов PDF).

В целом, YAGF работает быстро и с минимальным количеством ошибок, и на сегодняшний день является, пожалуй, лучшей оболочкой для OCR Cuneiform под Linux.

Персональные инструменты
купить
подписаться
Яндекс.Метрика