使用以下代码,我想获得一个字符的置信度值,但是由于某种原因,单词的每个字符都会返回相同的值。但是,使用类似的代码行(GetUTF8Text),可以正确返回字符本身。我的代码有什么问题吗,或者这可能是Tess4J中的错误?

TessResultIterator ri = TessAPI1.TessBaseAPIGetIterator(api);
TessPageIterator pi = TessAPI1.TessResultIteratorGetPageIterator(ri);
do{
   ...
   do{
      ...
      String ch = TessAPI1.TessResultIteratorGetUTF8Text(ri, TessPageIteratorLevel.RIL_SYMBOL);
      float conf = TessAPI1.TessResultIteratorConfidence(ri, TessPageIteratorLevel.RIL_SYMBOL);
      ...
   }while(hasNextSymbol);
}while(hasNext);


我已经尝试从v1.0切换到v1.1,但是代码仍然无法正常工作。除此之外,我使用TessAPI1Test.java中所示的代码得到了一个N​​ullPointerException:

 Pointer ptr = TessAPI1.TessResultIteratorGetUTF8Text(ri, TessPageIteratorLevel.RIL_SYMBOL);
 String ch = ptr.getString(0); //<-- exception

最佳答案

您需要致电:

TessAPI1.TessBaseAPISetVariable(handle, "save_blob_choices", "T");

07-24 15:18