Установка Tesseract OCR под MinGW

tesseract ocr

В одном из своих проектов мне потребовалось распознавание символов и мой выбор остановился на tesseract ocr . В данной статье рассказывается о процессе установке Tesseract OCR под MinGW.

 На данный момент разработкой tesseract ocr занимается компания Google, это может означать, что библиотека будет развиваться в ближайшем времени. Я постараюсь описать процесс установки максимально подробно, начиная с установки MinGW.

Установка MinGW

Для начала нам нужно установить MinGW, его можно скачать с официального сайта проекта. Во время установки необходимо выбрать следующие опции:

  • C++ Compiler
  • MSYS Basic System

Шаг 1. установка MinGW:

 

 

Не забываем отметить нужные нам опции: C++ Compiler и MSYS Basic System.

Дальше переходим в раздел Installation и выбираем  Apply Chanages

Далее выбираем для установки выбранный пакетов  Apply

Дожидаемся конца установки пакетов MinGW и нажимаем Close.

После выполнения данных действий инсталлятор можно закрыть.

Перед началом установки дополнительных пакетов, нам нужно добавить директорию MinGW в PATH.

Для этого переходим в свойства системы.

Далее переходим в Дополнительные параметры системы -> Переменные среды -> Создать.

В имя переменной вводим PATH. в Значение переменной вводим путь до папки с mingw, в нашем случае это C:\MinGW\bin

Теперь нам нужно установить несколько пакетов с помощью MinGW Shell, которые нам понадобятся при сборе библиотеки Tesseract OCR.

Для открытия MinGW Shell переходим в папку C:\MinGW\msys\1.0 и запускаем бинарный файл msys.bat 

В открывшуюся консоль вводим следующую команду:

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

Важный пункт! Нам необходимо примонтировать папку с нашим MinGW в MinSYS

Для этого выполним следующие действия:

Создайте файл C:\MinGW\msys\1.0\etc\fstab что бы смонтировать каталог C:\MinGW на точку монтирования /mingw :

Отлично, после создания fstab необходимо перезапустить MinGW Shell, достаточно просто закрыть и заново открыть msys.bat.

 

Установка библиотеки Leptonica

После настройки MinGW нам необходимо установить библиотеку Leptonica. Tesseract ocr для работы с изображениями  использует библиотеку Leptonica, но перед её установкой нам необходимо установить несколько вспомогательных библиотек:

  • libJpeg
  • libPng
  • libTiff

Установка LibJpeg

Для начала создадим каталог в котором будем хранить наши библиотеки, к примеру C:\libs\. В данном каталоге создадим подпапку libjpeg для хранения библиотеки. Теперь когда мы подготовили наше рабочее место, можно скачать LibJpeg с официального сайта и распаковать в нашу папку C:\libs\libjpeg.

После распаковки у меня получился следующий путь до папки libjpeg: C:\libs\libjpeg\jpegsrc.v8c.tar\jpegsrc.v8c\jpeg-8c.

Теперь нам необходимо собрать и установить библиотеку, для этого переходим в MinGW Shell и вводим следующие команды:

Отлично на этом этапе установка libJpeg завершена.

Установка libPng

Скачиваем архив с исходными кодами с официального сайта проекта и распаковываем в каталог C:\libs\libpng. Возвращаемся в MinGW Shell, процедура установки данной библиотеки будет идентичная установки libJpeg. После распаковки у меня получился следующий каталог: C:\libs\libpng\libpng-1.5.4.tar\libpng-1.5.4

Сборка libTiff

Архив с исходным кодом можно скачать с ftp сервера проекта. Распаковываем архив в C:\libs\libtiff. Сборка данной библиотеки аналогична сборки предыдущих двух библиотек.

После распаковки получился следующий путь: C:\libs\libtiff\tiff-3.9.5.tar\tiff-3.9.5.

Сборка Leptonica

После установки всех дополнительных библиотек мы переходим к сборе Leptonica. Для начала нам нужно скачать Leptonica 1.71, это важно, нам нужна именно версия 1.71. Как показали тесты, если взять версию выше или ниже, сам tesseract ocr не будет собираться. Но в этой версии есть один баг, который нам предстоит исправить. Для начала скачаем архив с исходными файлами с официального сайта. Распакуем скаченный архив в папку C:/libs/leptonica/. После распаковки у меня получился следующий путь: C:\libs\leptonica\leptonica-1.71.tar\leptonica-1.71. Как мы говорили ранее нам необходимо исправить один маленький баг. Для этого переходим в папку src и правим файл pngio.c . (C:\libs\leptonica\leptonica-1.71.tar\leptonica-1.71\src\pngio.c).

В данном файле необходимо найти строку

и вставить после неё несколько строк когда. В итоге у нас должно получиться нечто следующее:

Если вы увидите нечто подобное после

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

Следующим шагом будет сборка библиотеки, она ни чем не отличается от сборки предыдущих библиотек:

Отлично. Переходим к сборке Tesseract OCR.

Сборка Tesseract OCR

После успешной сборки Leptonica можно приступать к сборке Tesseract OCR. Скачиваем архив с исходным кодом с официального сайта. Распаковываем скаченный архив с исходным кодом Tesseract OCR в папку C:\libs\tesseract. После распаковки у меня получился следующий путь: C:\libs\tesseract\tesseract-ocr-3.02.02.tar\tesseract-ocr-3.02.02\tesseract-ocr.

Собираем наш Tesseracr OCR.

Процесс сборки Tesseracrt занимает достаточно много времени, пока можно сходить выпить чаю.

Заголовочные файлы tesseract ocr будут лежать в C:\MinGW\include\tesseract, заголовочные файлы Leptonica в C:\MinGW\include\leptonica, все библиотеки в C:\mingw\lib.

Для успешной работы будущих программ следует скачать и установить SDK Tesseract ocr с официального сайта.

Осталось исправить маленькие баги, который появляется после установки Tesseract OCR.

Для этого переходить в папку с заголовочными файлами Tesseract OCR C:\MinGW\include\tesseract.

Комментируем в файле platform.h повторное объявление типа BLOB. Должно получиться нечто следующее:

Комментируем объявление класса PBLOB в baseapi.h.

Приложение для тестирования Tesseract OCR

После установки tesseract ocr его можно протестировать, напишем простенькое приложение на C++.

Собрать приложение можно из командной строки:

Комментарий “Установка Tesseract OCR под MinGW

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

Ваш e-mail не будет опубликован.