使用tesseract 3.01的字符智商值

Ekt*_*kta 7 tesseract

我执行以下代码来生成字符方面的置信度值:

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;
}
Run Code Online (Sandbox Code Playgroud)

链接到图像

为上面的图像获得的输出是:

下一个符号:N置信度:72.3563下一个符号:B置信度:72.3563

下一个符号:E置信度:69.9937下一个符号:T置信度:69.9937
下一个符号:R置信度:69.9937下一个符号:置信度:69.9937
下一个符号:N置信度:69.9937下一个符号:G置信度:69.9937
下一个符号: - 置信度:69.9937 next符号:我信心:69.9937

很明显,属于同一个词的字符的置信度值是相同的.这是预期的产出吗?每个角色的置信度值是否应该不同?我尝试执行一个单词的代码,其中每个字符都是不同的字体样式.然而,对于属于同一个单词的字符,置信度值是相同的.

Kao*_*ire 2

问题是您在SetVariable 调用之后调用 Init 。