gpt4 book ai didi

c++ - Tesseract - 获得具有置信度的替代结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:58:49 26 4
gpt4 key购买 nike

我正在尝试使用 tesseract 来识别数字。它工作得很好,但有时我会得到错误的结果(8 而不是 9 等)。我知道如何使用一些非 ocr 方法提高准确性,但我需要其他具有置信水平的结果。我发现为每个 ResultIterator 使用 ChoiceIterator 可以获得最佳选择:

    tesseract::TessBaseAPI tess;    
tess.SetPageSegMode(tesseract::PSM_SINGLE_CHAR);
tess.SetVariable("save_best_choices", "T");

[setting input image here]

tess.Recognize(NULL);
tesseract::ResultIterator* ri = tess.GetIterator();
tesseract::ChoiceIterator* ci;
if(ri != 0)
{
char* symbol = ri->GetUTF8Text(tesseract::RIL_SYMBOL);

if(symbol != 0)
{
float conf = ri->Confidence(tesseract::RIL_SYMBOL);
cout << symbol << "\tconf: " << conf << "\n";

const tesseract::ResultIterator itr = *ri;
ci = new tesseract::ChoiceIterator(itr);
do {
const char* choice = ci->GetUTF8Text();
if (choice) {
std::cout << "\t" << choice << " conf: " << ci->Confidence() << "\n";
}
} while(ci->Next());

// delete[] symbol;
}
}

但问题是 ci->GetUTF8Text() 总是返回空指针。

我使用 tesseract 3.02 作为 DLL,在 MSVC2010 express 下编译。

最佳答案

根据今天早些时候的有限研究,我认为答案可能是设置变量 SaveBlobChoicesSaveBestChoices。我还需要自己测试一下。

关于c++ - Tesseract - 获得具有置信度的替代结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13342718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com