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

标签 java ocr tesseract tess4j config-spec

我正在使用 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());
        }
}

下面是我能找到的最接近我的问题;但是,我找不到找到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");

关于java - 如何在 Tesseract (Java) 中使用用户词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28193008/

相关文章:

java - 2 个 Web 应用程序中的两个小程序访问相同的 DLL

google-apps-script - 使用 Google App Script 来自 google drive 的 OCR 图像

python - 使用 pyteserract 0.1.5 我在使用 print image_to_string(img) 后出现以下错误,它找不到什么文件?

c# - csharp中emgucv的全局阈值

java - 如何在jpa中创建InnoDB表?

java - 在 Web 应用程序中获取当前 URL

java - POI - 处理 HH :MM:SS. sss 格式的数据

opencv - 识别 Talmud 页面上的文本区域

opencv - 如何使用PIL使图像中的文字更清晰?

iphone - 从超立方体图像中获取文本的确切位置