如何检测每个字符的置信度百分比? 通过搜索我发现你应该将save_blob_choices设置为T. 所以我把它添加到tessdata / configs中的hocr配置文件中,并用它调用tesseract。 这就是我在生成的html文件中得到的所有内容:
<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 :(得分: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;
}
答案 1 :(得分:0)
您必须编写程序才能执行此操作。在Tesseract网站上查看ResultIterator API example。对于您的情况,请务必设置save_blob_choices
变量并在RIL_SYMBOL
级别迭代。