我有以下代码:
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 谢谢!