0

我有以下代码:

public String getName(BufferedImage subc){
        String name=null;
        Tesseract1 instance = new Tesseract1();
        instance.setPageSegMode(8);
        instance.setLanguage("eng");
        instance.setTessVariable("tessedit_char_whitelist", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789_.");
        try {           
            name=instance.doOCR(subc);
        } catch (TesseractException e) {System.err.println(e.getMessage());}
        name=new StringTokenizer(name,"\n").nextToken();
        return name;
}

其中 subc 是已经对单词进行剪切和预处理的图像。我想要的是要么获得识别图像的信心,要么迭代第一个,比如说,30 个最有可能的单词。我找到了像这样的例子Tess4J: How to get a Character's confidence value? ,但它在第一行中断,

TessResultIterator ri = TessAPI1.TessBaseAPIGetIterator(api);

当我将我的对象“实例”作为参数“api”,并且在尝试使用 getpointer 和不同的对象之后,我到目前为止还没有运气。在这里http://tess4j.sourceforge.net/docs/docs-1.0/net/sourceforge/tess4j/package-summary.html,在类摘要中,我知道对象 Tesseract 或 Tesseract1 可能不是最适合我的想做,但我没能用 TessAPI 或 TessAPI1 从图像中识别出一个词。c++ 中的 ResultIterator 看起来非常简洁,但带有指针:https ://code.google.com/p/tesseract-ocr/wiki/APIExample 谢谢!

4

1 回答 1

1

Tesseract是一个简化的 API,只公开接口中最常用的方法TessAPI。要获得文本可信度,您需要使用TessAPI. 该库的单元测试包括一些常见的用例。你肯定想看看他们。

于 2013-11-01T22:48:22.557 回答