Итак, жизнь заставила изучить и этот вопрос. Опять же, благодаря студенческим будням сына. В общем, прислали ему сканы, которые надо было распознать. Нет, конечно же, существует в природе замечательная (и
ни разу не дешевая!) программа
ABBYY Finereader, которая, говорят, в ломаном виде вроде бы как под Wine работает. Но это - однозначно не наш метод! Итак, решаем быть честными и обойтись исключительно свободным, и вдобавок, нативным ПО.
Имеем: компьютер с Scientific Linux 6.x (так уж сложилось, что с некоторых пор я использую в основном именно этот дистрибутив и дома, и на работе). Естественно, нижеприведенные инструкции относятся и к другим клонам Red Hat Enterprise Linux 6.x - CentOS 6 и т.п.
Собственно программа оптического распознавания (OCR) называется
CuneiForm и в виде исходных кодов доступна
здесь.
В нашем случае можно не возиться со сборкой из исходников, а взять готовый пакет из репозитория Nux-Dextop:
yum --enablerepo=nux-dextop install cuneiform
В настоящее время доступна версия 1.1.0.
Заявленные возможности программы: поддержка множества языков (в том числе украинского), сохранение форматирования исходного документа, вывод в txt, hocr, html, распознавание факсов и текстов, отпечатанных на матричном принтере.
Но в полном соответствии с канонами жанра, присутствует здесь и неизбежная ложка дегтя: данная программа является консольной, т.е. все общение с ней идет исключительно из командной строки. А отечественный юзер (как, впрочем, и "импортный") отнюдь не настолько суров, чтобы безропотно взяться за освоение данной науки. Ну, не может он жить без "гуя", и все!
Что ж, вы хочете GUI - их есть у меня! Ставим оболочку под названием
YAGF. Опять же, можем заняться сборкой из исходников (инструкция по сборке прилагается в файле INSTALL в скачиваемом .tar.gz-архиве). А можем просто скачать и установить готовый пакет
yagf-0.9.1-1.17.i686.rpm (для 32-битной системы), или
yagf-0.9.1-1.17.x86_64.rpm (для 64-битной). Результат приведен на скриншоте в заголовке статьи.
Чтобы в распознанном тексте можно было проверить орфографию, необходимы соответствующие словари. Они имеются в виде RPM-пакетов вида aspell-XX, где XX - язык распознавания текста (aspell-en - английсий язык, aspell-ru - русский, aspell-uk - украинский и т.д.).
Пакет aspell-en имеется в репозитории EPEL (
.i686 и
x86_64 соответственно), aspell-ru - в репозитории CentALT (
.i686 и
x86_64 соответственно), а пакет aspell-uk - в репозитории Russian Fedora Free (
.i686 и
x86_64 соответственно).
Удачной Вам установки и хорошего распознавания!