Tesseract-Ocr в Visual Studio - распознаем страницу текста / tesseract-ocr / Recog.ru - Распознавание образов для программистов


Tesseract-Ocr в Visual Studio - распознаем страницу текста

tesseract-ocr — свободная библиотека для распознавания текста. Для того, чтобы ее подключить необходимо скачать следующие компоненты:
Leptonica — http://code.google.com/p/leptonica/downloads/detail?name=leptonica-1.68-win32-lib-include-dirs.zip
Последнюю версию tesseract-ocr (на данный момент 3.02 ) — https://code.google.com/p/tesseract-ocr/downloads/detail?name=tesseract-3.02.02-win32-lib-include-dirs.zip&can=2&q=
Данные обучения русскому языку — https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.rus.tar.gz
Все можно собирать самостоятельно, скачав исходные коды, но мы этим заниматься не будем.

Создав новый проект, подключаем пути до lib и h файлов. И пишем простенький код.
#include <baseapi.h>
#include <allheaders.h>

int main() {

        tesseract::TessBaseAPI *myOCR = 
                new tesseract::TessBaseAPI();

		printf("Tesseract-ocr version: %s\n",
               myOCR->Version());
        printf("Leptonica version: %s\n",
               getLeptonicaVersion());


        if (myOCR->Init(NULL, "rus")) {
          fprintf(stderr, "Could not initialize tesseract.\n");
          exit(1);
        }

        Pix *pix = pixRead("test.tif");
        myOCR->SetImage(pix);

		char outText[10000];
		lstrcpy( outText, myOCR->GetUTF8Text() );		
        printf( "OCR output:\n\n");
        printf(outText);
        
        myOCR->Clear();
        myOCR->End();        
        pixDestroy(&pix);
        return 0;
}


Подключаем lib-файлы:
libtesseract302.lib
liblept168.lib

Компилируем — программа успешно создается. В качестве примера возьмем следующую картинку:


Запускаем программу, чтобы информация вывелась в файл (поскольку UTF-8 в консоли хаос будет):
test > a.txt

Содержимое файла ниже:
Tesseract-ocr version: 3.02
Leptonica version: leptonica-1.68 (Mar 14 2011, 10:47:28) [MSC v.1500 DLL Release 32 bit]
OCR output:

‚Подставив это выражение в (63), видим, что оги-
бающая однополосного ‚сигнала промодулирована
и глубина модуляции равна а.
7 Огибающую ХО) первичного сигнала непосред-
ственно на осциллографе наблюдать нельзя, так у
‚ как этот сигнал ие является узкополосным, а вэтом
‘случае «наглядность» огибающей отсутствует, Но
при однополосной модуляции формируется узкопо-
‘лосный сигнал с той же огибающей, и тут-то она
«и проявляется в явном виде и иногда (как в опи-
„санном случае) вносит смятение в умы малоопыт-
и ных исследователей..
6,4. «ФОРМУЛА КОСТАСА»
г у
С появлением ОМ в учебниках, журнальных `
Ёстатьях и монографиях дебатировался вопрос о
том, какой выигрыш дает переход от амплитудной
модуляции к однополосной. Было высказано много ‚
разноречивых мнений. Вначале 60-х годов аме-
риканский ученый Дж. Костас писал, что, просмо-
трев обширную журнальную литературу по ОМ, он
обнаружил в каждой статье свою оценку энергети-
“ческого выигрыша относительно АМ-от двух до,
нескольких десятков. В результате он установил,
-что выигрыш, указываемый в каждой статье, со-
ставляет примерно (З-К-Ы!) дБ, где М-число со- ‘ г
› авторов данной статьи.
Ё,‘ 11 Если эта шутка и неточна, она все же правиль-
‘нот отражает тот разнобой, который существовал
; в те годы. Помимо того, что разные авторы произ-
Д водили сравнение в различных условиях и по-раз-м
‚ ‚ному определяли энергетический выигрыш, они так- 1
‘‚ `же допускали немало различных ошибок. 4 '
‚` Вот примеры некоторых рассуждений. ',
1. При обычной АМ, полагая мощность’ несущей

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.