0

如何获得每个检测到的字符的 % 置信度?通过四处搜索,我发现您应该将 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>

如您所见,甚至每个单词都没有任何置信度注释。

我没有视觉工作室,所以我无法进行任何代码更改。但我也愿意接受描述代码更改以及如何在没有 VS 的情况下编译代码的答案。

4

2 回答 2

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;
}
于 2014-08-12T02:55:26.713 回答
0

您将不得不编写一个程序来执行此操作。查看 Tesseract 站点上的ResultIterator API 示例。对于您的情况,请务必设置save_blob_choices变量并在RIL_SYMBOL级别进行迭代。

于 2013-07-01T15:44:12.917 回答