Как использовать регулярные выражения для улучшения распознавания текста с помощью 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);