Первые впечатления от OCR-пакета Tesseract 3.0 (установка и работа в Ubuntu) [Обновлено]

Tesseract 3.0

На днях было объявлено о выходе третьей версии пакета распознавания  текста Tesseract.  Вероятно, самым интересным новшеством оказалось  добавление поддержки русского и украинского языков, адекватной работой с которыми до сих пор мог похвастаться лишь Cuneiform

Небезынтересно будет узнать, что  первоначально разработкой этого продукта занималась Hewlett-Packard (начиная с 80-х годов и до середины 90-х), после чего Tesseract был в «замороженном» состоянии, и лишь начиная с 2006го года Google открыл исходные тексты программы и разработка снова сдвинулась с мертвой точки. 

 Учитывая, что в репозиториях Ubuntu доступна лишь ветка 2.х, то я собирал третью версию из исходников. 


Итак, для работы Tesseract нам понадобиться  пакет Leptonica

sudo aptitude install leptonica-progs

sudo ldconfig

и другие необходимые пакеты (которые, возможно, у вас уже установлены)

 sudo aptitude install libpng12-dev libjpeg62-dev libtiff4-dev zlib1g-dev libtool build-essential

Распаковываем исходники и из каталога с распакованными файлами выполняем следующую последовательность команд:

./runautoconf
./configure
make

Если возникают ошибки — устраняем их. Когда эти этапы пройдены, выполняем

sudo checkinstall

При подтверждении опций измените имя пакета (номер 2) c tesseract на tesseract-ocr

 Далее положитесь на checkinstall и соглашайтесь с опциями по умолчанию. В результате в системе будет установлен Tesseract 3.0

Пакет подхватывается теми программами, которые работали и со второй версией (например gscan2pdf), но, к сожалению, доступен лишь английский язык и добавление языковых файлов для третьей версии в рабочий каталог программы (/usr/local/share/tessdata/) результата не дал.


Не смотря на присутствие пакетов в каталоге, явное задание языка при помощи опции -l приводило к сообщению вида


Error openning data file /usr/local/share/tessdata/russian.traineddata

Виной тому недоработка программы или же моя ошибка? К сожалению, в документации установка языковых файлов рассматривается вскользь, и для ветки 2.х. Таким образом, самая любопытная заявленная возможность — поддержка русского и украинского языков — пока остается «за кадром». Хочется верить, что эта проблема будет решена в ближайшее время, и быть может одним из читателей этого блога ;).

Итак, разобрался с проблемой при работе из консоли. 

(Спасибо zdenko podobny за помощь и внимание). Следует отметить, что я вводил полное название языка, а следовало лишь трехбуквенный код согласно начала имени файла. Кроме того, на скопированные файлы пришлось поставить права доступа 777

sudo chmod 777 /usr/local/share/tessdata/*.traineddata
Таким образом удалось заставить работать программу из конзоли, пример

tesseract image.tiff textukr -l ukr

 а вот gscan2pdf, который поддерживает распознавание с помощью tesseract хоть и принял третью версию пакета, но языки выбрать не дает, так что ждем, когда автор gscan2pdf обновит свою программу и мы получим весьма удобный front-end. Возможно в будущем  этот пакет составит достойную конкуренцию  cuneiform.

Выкладываю также свой полученный deb-файл (для архитектуры amd64) на локальном ftp и файлообменнике для интернет-пользователей. Используйте на свой страх и риск.

p.s. Ниже прикладываю пример распознавания текста на украинском языке:

Випереджувальні темпи зростання зовнішньоторговельного
обороту, іноземних інвестицій, збільшення частки зовнішньоекономічних
операцій у валовому внутрішньому продукті різних країн та інші
кількісні показники характеризують рух країн у напрямі глобалізації.
Орієнтація багатьох економічних систем на побудову ринкової
моделі господарювання потребує розвитку всебічних міжнародних
економічних зв’язків з метою реалізації економічного потенціалу країни
на зовнішньому ринку. Без цього неможливо цивілізовано побудувати
ринок, перейти на інтенсивну модель економічного зростання, посісти
достойне місце у світовій економічній системі господарювання.
У визначенні стратегії і тактики інтегрування економіки країни
до світового економічного простору домінують дві точки зору. Періпа
грунтується на тезі швидкої (шокової) лібералізації зовнішньо-
економічних зв’язків (неолібералізм), друга (градуалізм) — на
поступовому переході до « відкритості» економіки, що передбачає
поетапний процес, який має свою структурну специфіку і потребує
активної ролі держави у даній сфері взаємовідносин.
Теоретично неолібералізм передбачає повсюдне згортання
господарської діяльності держави, форсування інтернаціоналізації
економіки, гомогенізацію світогосподарських механізмів регулювання
шляхом надання стихійному ринку повної свободи і забезпечення
умов вільної конкуренції. Постулюється, що формування єдиного
глобального ринку зумовить таке зростання ефективності, яке зможе
забезпечити загальний добробут.
Підґрунтям концепції «шокової терапії» е ідеї монетаристів, які
виходять з того, що ринок — це найбільш ефективна форма організації
економічної системи, яка здатна до самоорганізації, тому трансформація
перехідного періоду має відбуватися за мінімальною участю держави.
Основне завдання держави — підтримка стійкої фінансової системи,
оскільки без стабільної грошової одиниці ринок ефективно
функціонувати не може. Саме тому підтримка стабільного валютного
курсу і гальмування зростання інфляції, на їх думку, є основними
завданнями. Головним інструментом антиінфляційної політики
монетаристи вважають одночасну лібералізацію цін і різке скорочення
державних витрат. Слід зауважити, що особлива роль у даній моделі
трансформування економічної системи відводиться міжнародним
економічним організаціям як координаторам, які реалізують курс на
лібералізацію господарської політики.
4

Исходный файл в tiff формате выглядел так (нажмите, чтобы увеличить):

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

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