我正在使用 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
我试图在 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());
}
}
下面是我能找到的最接近我的问题;但是,我找不到找到setConfigs方法:
instance.setConfigs(Arrays.asList("bazaar");
最佳答案
setConfig
方法是自 Tess4J v1.4 以来的新方法(请参阅 doc )。
instance.setConfigs(Arrays.asList("TestConfig");
关于java - 如何在 Tesseract (Java) 中使用用户词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28193008/