ocr
  • tesseract
  • 2013-06-30 53 views 0 likes 
    0

    如何获得每个字符检测到的%置信度? 通过四处搜索,我发现你应该将save_blob_choices设置为T. 因此,我在tessdata/configs中的hocr配置文件中添加了一行,并将其称为tesseract。 这是所有我得到在生成的HTML文件:使用配置文件的Tesseract 3.02的角色信心

    <span class='ocr_line' id='line_1' title="bbox 0 0 50 17"><span class='ocrx_word' id='word_1' title="bbox 3 2 45 15"><strong>31,835</strong></span> 
    

    正如你可以看到没有任何信心,甚至不是每个字的注释。

    我没有visual studio,所以我无法进行任何代码更改。但我也接受描述代码更改的答案,以及如何编译没有VS的代码。

    回答

    0

    你将不得不编写一个程序来做到这一点。看看Tesseract网站上的ResultIterator API example。对于您的情况,请务必设置save_blob_choices变量并在RIL_SYMBOL级别重复。

    2

    以下是获取每个单词的置信度的示例代码。 甚至可以用RIL_SYMBOL替换RIL_WORD来获得每个字符的置信度。

    mTess.Recognize(0); 
    tesseract::ResultIterator* ri = mTess.GetIterator(); 
    if(ri != 0) 
    { 
        do 
        { 
         const char* word = ri->GetUTF8Text(tesseract::RIL_WORD); 
         if(word != 0) 
         { 
          float conf = ri->Confidence(tesseract::RIL_WORD); 
          printf(" word:%s, confidence: %f", word, conf); 
         } 
         delete[] word; 
        } while((ri->Next(tesseract::RIL_WORD))); 
    
        delete ri; 
    } 
    
    相关问题