Tesseract命令行界面:获得每个角色的识别置信度

时间:2017-06-20 08:46:59

标签: tesseract

使用Tesseract C API时,可以迭代识别的字符,获取其边界框及其识别信心。

我已经发现如何使用Tesseract CLI获取边界框,通过在命令末尾添加 makebox 来完成。问题是它不包含识别信心。

有没有办法告诉Tesseract CLI也输出每个角色的置信度?

1 个答案:

答案 0 :(得分:0)

以下是tesseract github的API示例。

GetComponentImages示例

Pix *image = pixRead("/usr/src/tesseract/testing/phototest.tif");
  tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
  api->Init(NULL, "eng");
  api->SetImage(image);
  Boxa* boxes = api->GetComponentImages(tesseract::RIL_TEXTLINE, true, NULL, NULL);
  printf("Found %d textline image components.\n", boxes->n);
  for (int i = 0; i < boxes->n; i++) {
    BOX* box = boxaGetBox(boxes, i, L_CLONE);
    api->SetRectangle(box->x, box->y, box->w, box->h);
    char* ocrResult = api->GetUTF8Text();
    int conf = api->MeanTextConf();
    fprintf(stdout, "Box[%d]: x=%d, y=%d, w=%d, h=%d, confidence: %d, text: %s",
                    i, box->x, box->y, box->w, box->h, conf, ocrResult);
  }

包含fprintf()以打印信箱和信心信息。

希望得到这个帮助。

修改

要从CLI获取置信度(conf)值以及边界框({​​{1}},lefttopwidth),请设置{{ 1}}输出为height格式。以下是输出文件名为tesseract的示例命令。

tsv

以下是Excel查看的test.tsv输出文件。 enter image description here

您可以参考此tesseract wiki了解详情。