次のコードがあります。
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: キャラクターの信頼値を取得する方法? 、しかし、それは最初の行で壊れ、
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 ありがとう!