я выполнил следующий код для генерации символов-накрест значения достоверности:символьных-накрест значений доверительных используя тессеракт 3,01
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
следующий символ: Е доверия: 69,9937 следующий символ: T доверия: 69,9937
следующий символ: R доверия: 69,9937 следующий символ: Уверенность: 69,9937
следующий символ: N доверия: 69,9937 следующий символ: G доверия: 69,9937
следующий символ: - доверие: 69.9937 следующий символ: Я уверен: 69.9937
Как очевидно, значения достоверности для символов одного и того же слова одинаковы. Является ли это ожидаемым выходом? Разве значения доверия для каждого персонажа не должны отличаться? Я попытался выполнить код для слова, в котором каждый символ был в другом стиле шрифта. И все же доверительное значение было одинаковым для символов одного и того же слова.