使用配置文件的Tesseract 3.02的字符置信度

时间:2013-06-30 18:31:27

标签: ocr tesseract

如何检测每个字符的置信度百分比? 通过搜索我发现你应该将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的情况下编译代码。

2 个答案:

答案 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级别迭代。