如何在 Tesseract (Java) 中使用用户词?

How to use user-words in Tesseract (Java)?

我将 Tesseract 用于 OCR 目的,并且我在“fin.user-words”中添加了一些额外的词(我想避免创建新词列表并用它替换 tessdata/fin.word-dawg)。 现在,我在命令提示符下成功完成了:

>tesseract image.png result -l fin TestConfig

其中 TestConfig(Tesseract 配置文件位于 .../tessdata/configs)抑制系统词典并强制 Tesseract 加载我的话:

load_system_dawg F
load_freq_dawg F
user_words_suffix user-words

参考:http://tesseract-ocr.googlecode.com/svn/trunk/doc/tesseract.1.html#_config_files_and_augmenting_with_user_data

我试图在 Java 中复制上述命令行程序,但似乎 Tesseract 忽略了配置选项。 这是我正在使用的 Java 代码的一部分:

public static TestTesseract(BufferedImage image) {
        Tesseract instance = Tesseract.getInstance();
        instance.setLanguage("fin");
        instance.setTessVariable("load_system_dawg", "F");
        instance.setTessVariable("load_freq_dawg", "F");
        instance.setTessVariable("user_words_suffix", "user-words");
        try {
            String result = instance.doOCR(image);
            System.out.println(result);         
        } catch (TesseractException e) {
            System.err.println(e.getMessage());
        }
}

以下是我能找到的最接近我的问题;然而,我 not 找到 setConfigs 方法:

instance.setConfigs(Arrays.asList("bazaar");

Forcing Tesseract to match pattern (four digits in a row)

setConfig 方法是自 Tess4J v1.4 以来的新方法(参见 doc)。

instance.setConfigs(Arrays.asList("TestConfig");