【问题标题】:Tess4J: How to get a Character's confidence value?Tess4J:如何获得角色的置信度值?
【发布时间】:2013-03-05 21:29:45
【问题描述】:

使用下面的代码,我想获得一个字符的置信度值,但由于某种原因,一个单词的每个字符都会返回相同的值。但是,使用类似的代码行 (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

【问题讨论】:

  • 亲爱的佩德罗。你能编辑这个问题吗?我想知道如何获得每个角色的置信度值。但我不明白你的部分源代码。请告诉我你的成功。

标签: java tesseract


【解决方案1】:

您需要致电:

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

【讨论】:

  • 这似乎在 Tesseract 3.01 中缺失,应该使用 save_best_choices 来代替吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
  • 2014-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多