0

使用下面的代码,我想获得一个字符的置信度值,但由于某种原因,一个单词的每个字符都会返回相同的值。但是,使用类似的代码行 ( 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,但代码仍然不起作用。除此之外,我使用如下所示的代码得到 NullPointerException TessAPI1Test.java

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

1 回答 1

1

您需要致电:

TessAPI1.TessBaseAPISetVariable(handle, "save_blob_choices", "T");
于 2013-03-05T13:29:45.927 回答