Как использовать регулярные выражения для улучшения распознавания текста с помощью ABBYY FineReader

Я использую ABBYY FineReader 12 с Java API для задачи OCR, фокусирующейся на распознавании идентификаторов в нескольких известных шаблонах (регулярных выражениях).

У меня проблемы с распознаванием похожих персонажей, например: иногда gошибся 9"S, 0для O"s 1для Iи т. д.

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

Должен ли я сделать это с файлом пользовательских шаблонов

IRecognizerParams recognizerParams = engine.CreateDocumentProcessingParams()
                                           .getPageProcessingParams()
                                           .getRecognizerParams();
recognizerParams.setUserPatternsFile("patterns.txt1");
recognizerParams.setTrainUserPatterns(true);

или добавив словарь регулярных выражений?

IBaseLanguage lang = engine.CreateLanguageDatabase()
                           .CreateTextLanguage()
                           .getBaseLanguages()
                           .AddNew();
lang.setIsNaturalLanguage(false);
String pattern = "[A-Z0-9]{8}\\d"); 
lang.getDictionaryDescriptions()
    .AddNew(DictionaryTypeEnum.DT_RegularExpression)
    .GetAsRegExpDictionaryDescription()
    .SetText(pattern);

0 ответов

Другие вопросы по тегам