Тессеракт не признает русский - PullRequest
4 голосов
/ 02 апреля 2012

Я пишу приложение Qt с библиотекой tesseract-ocr.Когда я тестировал tesseract, я обнаружил, что он распознает текст, только если он был инициализирован с помощью параметра 'eng'.Если я укажу параметр 'rus', GetUTF8Text () вернет что-то вроде этого: ТÐ<9d>Ð<86>Ð<85> Ð<86>Ð<85> мама

*. Файлы с обученными данными находятся в каталоге / usr / local / share / tessdata.Он также содержит файл rus.traineddata.

В чем проблема?

1 Ответ

3 голосов
/ 03 апреля 2012

Я нашел решение! Это связано с кодировкой текста, возвращаемого функцией GetUTF8Text.

char* recognizedText = tessApi.GetUTF8Text(); // recognizes text with tesseract
QTextCodec* codec = QTextCodec::codecForName("UTF-8"); // creates UTF-8 codec
QString decodedText = codec->toUnicode(recognizedText); // Converts to UNICODE

Работает!

...