我执行了以下代码来生成按字符置信度值:
int main(int argc, char **argv) {
const char *lang="eng";
const PIX *pixs;
if ((pixs = pixRead(argv[1])) == NULL) {
cout <<"Unsupported image type"<<endl;
exit(3);
}
TessBaseAPI api;
api.SetVariable("save_blob_choices", "T");
api.SetPageSegMode(tesseract::PSM_SINGLE_WORD );
api.SetImage(pixs);
int rc = api.Init(argv[0], lang);
api.Recognize(NULL);
ResultIterator* ri = api.GetIterator();
if(ri != 0)
{
do
{
const char* symbol = ri->GetUTF8Text(RIL_SYMBOL);
if(symbol != 0)
{
float conf = ri->Confidence(RIL_SYMBOL);
cout<<"\nnext symbol: "<< symbol << " confidence: " << conf <<"\n" <<endl;
}
delete[] symbol;
} while((ri->Next(RIL_SYMBOL)));
}
return 0;
}
上图获得的输出为:
下一个符号:N 置信度:72.3563 下一个符号:B 置信度:72.3563
下一个符号:E 置信度:69.9937 下一个符号:T 置信度:69.9937
下一个符号:R 置信度:69.9937 下一个符号:A 置信度:69.9937
下一个符号:N 置信度:69.9937 下一个符号:G 置信度:69.9937
下一个符号:- 置信度:69.9937 下一个符号:I 置信度:69.9937
显然,属于同一单词的字符的置信度值是相同的。
这是预期的输出吗?每个角色的置信度值不应该不同吗?
我尝试执行一个单词的代码,其中每个字符都采用不同的字体样式。但是,对于属于同一单词的字符,置信度值是相同的。
问题是你正在调用 InitafterSetVariable 调用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)