如何使用正则表达式使用ABBYY FineReader改善OCR

时间:2018-12-19 08:38:03

标签: regex ocr abbyy finereader

我正在将ABBYY FineReader 12与Java API一起用于OCR任务,该任务着重于以几种众所周知的模式(正则表达式)识别ID。

我在识别相似外观的字符时遇到了麻烦,例如:有时g被误认为90被误认为O 1等的I

我认为使用正则表达式模式可能有助于克服这一问题。 我想知道如何将图案文件合并到OCR流程中以提高准确性。

我应该使用用户模式文件

进行操作吗
IRecognizerParams recognizerParams = engine.CreateDocumentProcessingParams()
                                           .getPageProcessingParams()
                                           .getRecognizerParams();
recognizerParams.setUserPatternsFile("patterns.txt1");
recognizerParams.setTrainUserPatterns(true);

或通过添加 regexp类型字典

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 个答案:

没有答案