Распознавание текста - tesseract

Распознавание текста на картинке на C++ можно проводить с помощью различных готовых библиотек. Одна из таких библиотек - бесплатная библиотека tesseract.

Пример использования этой библиотеки можно найти по адресу:

https://github.com/gulakov/tesseract-ocr-sample

На основе этого примера можно сделать и своё приложение.

В MS Visual C++ делается следующее:

  1. Пример скачивается из Интернет и распаковывается.
  2. Создаётся новый проект.
  3. Пути к папкам leptonica и tesseract из папки tesseract-include прописываются в свойствах проекта в

VC++ Directories-> Include Directories

  1. К проекту подключается библиотеки liblept168.lib и libtesseract302.lib.
  2. Сам код файла cpp проекта может выглядеть примерно так:

Эта программа откроет файл с картинкой на компьютере по адресу c:\1.jpg, затем программа распознает текст на картинке и выведет этот текст в кодировке UTF8 в файл text.txt.

  1. В папку к exe-файлу нужно положить файлы liblept168.dll и libtesseract302.dll, в общем всё примерно также как и при подключении любой другой dll.
  2. Особенностью является то, что нужно положить в папку к exe-шнику ещё и папку tessdata. Если нужно распознавание не только английского языка, то можно скачать и использовать аналогичные файлам из папки tessdata файлы для этого другого языка.

 

    Запрос услуг репетитора:

    Опубликовано

    Распознавание текста - tesseract: 2 комментария

    1. Подскажите пожалуйста, появляется ошибка, когда подключаю библиотеку "Undefined structure 'INT_FEATURE_STRUCT'
      Full parser context
      Unit1.cpp(11): #include C:\...\baseapi.h"
      в строке "typedef INT_FEATURE_STRUCT INT_FEATURE_ARRAY[MAX_NUM_INT_FEATURES];" 66 - по счету
      что делать?
      среда разработки - Embarcadero RAD Studio XE6

      1. Наверное, самое простое из того, что помогает в этом случае:
        1 вариант. Использовать какой-нибудь бесплатный Visual C++. Библиотека под него больше.
        2 вариант. Можно использовать немного другой способ работы с tesseract в Embarcadero RAD Studio XE6 (Example using the C-API in a C program). Пример здесь в самом низу:
        https://github.com/tesseract-ocr/tesseract/wiki/APIExample

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

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

    Капча загружается...