2014-10-26 3 views
-1

Я пытаюсь создать приложение iOS, которое может сканировать номер вин с автомобиля. У меня проблемы с точностью сканирования.Улучшение качества распознавания текста tesseract

Я использую OpenCV найти контуры/ограничивающей коробки текста и до сих пор у меня есть этот результат:

ocr result

Как вы можете видеть, у меня есть отличный результат с поиском коробки текста и Я обрезаю изображение в соответствии с зеленой рамкой перед отправкой его в tesseract.

Tesseract однако не дает хорошего результата. Иногда я получаю правильный текст, и иногда он дает мне что-то еще.

Я использую Тессеракт 3.03 из следующего Pod: https://github.com/kevincon/Tesseract-OCR-iOS/tree/tesseract3.03

Я использую по умолчанию английского обучения Dict и настроек я Tesseract на как:

tesseract = [[Tesseract alloc] initWithLanguage:@"eng"]; 
[tesseract setVariableValue:@"ABCDEFGHJKLMNPQRSTUVWXYZ" forKey:@"tessedit_char_whitelist"]; 
[tesseract setVariableValue:@"language_model_penalty_non_freq_dict_word" forKey:@"0"]; 
[tesseract setVariableValue:@"language_model_penalty_non_dict_word" forKey:@"0"]; 
[tesseract setVariableValue:@"load_system_dawg" forKey:@"0"]; 
[tesseract setVariableValue:@"load_freq_dawg" forKey:@"0"]; 

Любых идеи о том, как я могу улучшить точность этого сканирования ?

ОБНОВЛЕНИЕ 1: Следующим шагом будет создание traindata. Я попробую использовать это изображение: https://dl.dropboxusercontent.com/u/63179/ocr/traindoc.jpg У меня есть шрифт helvetica neue regular, так как он выглядит тихим. Я знаю, что мой текст будет содержать только цифры и символы верхнего регистра.

ответ

0

Вы создали .traindata? Я сделал что-то подобное для распознавания номера кредитной карты. Но это не сработало.

Я использовал jTessBoxEditor и SerakTesseractTrainer генерировать .traindata для конкретных шрифтов, которые используются для кредитных карт.

Но в любом случае - результат был не таким хорошим, как я ожидал. Точность была неплохой, если я сканирую номер с немного другим шрифтом.

+0

Следующим шагом будет создание traindata. Были ли ваши результаты плохими даже с traindata? –

+0

Он идеально подходит для печати текста с тем же шрифтом на бумаге. Но если шрифт немного отличается - иногда он начинает делать ошибки. Также это зависит от качества изображения, он не распознает едва заметный текст. – Kirow

+0

И самое главное, я не добился результатов, которые я хотел (возможно, из-за плохой **. Traindata ** и отсутствующих шрифтов), поэтому я отказался от этой идеи и начал использовать закрытую библиотеку card.io PayPal – Kirow

Смежные вопросы