使用Tesseract C API时,可以迭代识别的字符,获取其边界框及其识别信心。
我已经发现如何使用Tesseract CLI获取边界框,通过在命令末尾添加 makebox 来完成。问题是它不包含识别信心。
有没有办法告诉Tesseract CLI也输出每个角色的置信度?
答案 0 :(得分:0)
以下是tesseract github的API示例。
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}},left
,top
,width
),请设置{{ 1}}输出为height
格式。以下是输出文件名为tesseract
的示例命令。
tsv
您可以参考此tesseract wiki了解详情。