2013-11-01 97 views
0

我有以下代碼:Tess4j結果迭代器

public String getName(BufferedImage subc){ 
     String name=null; 
     Tesseract1 instance = new Tesseract1(); 
     instance.setPageSegMode(8); 
     instance.setLanguage("eng"); 
     instance.setTessVariable("tessedit_char_whitelist", "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM_."); 
     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 謝謝!

回答

2

Tesseract是一個簡化的API,只提供TessAPI接口中最常用的方法。要獲得文本信心,您需要使用TessAPI。圖書館的​​包括一些常見的用例。你一定要看看他們。