使用以下代码,我想获得一个字符的置信度值,但是由于某种原因,单词的每个字符都会返回相同的值。但是,使用类似的代码行(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
中所示的代码得到了一个NullPointerException: Pointer ptr = TessAPI1.TessResultIteratorGetUTF8Text(ri, TessPageIteratorLevel.RIL_SYMBOL);
String ch = ptr.getString(0); //<-- exception
最佳答案
您需要致电:
TessAPI1.TessBaseAPISetVariable(handle, "save_blob_choices", "T");