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

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

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

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

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

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);
...