我需要分析应用程序中OCR库处理的结果的OCR准确性。根据应用程序的上下文,我更喜欢使用字符精度测量而不是单词。
因此我认为总错误计数应该是在特定字符串中添加插入的字符,替换的字符和删除的字符。然后可以根据字符串中正确字符的总数来计算准确度百分比。
是否有人建议使用算法或线索来计算此准确度。
答案 0 :(得分:2)
您可以查看这些链接,其中包含有关准确性到OCR算法的科学论文。
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.5435&rep=rep1&type=pdf http://www.dlib.org/dlib/march09/holley/03holley.html
通常情况下,您对OCR算法的置信率也很高。例如,如果你检查python-tesseract(基于C ++),那么函数的置信率
的Python:
`api.MeanTextConf()`
C ++:
`
Pix *image = pixRead("/usr/src/tesseract-3.02/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();
***//CONFIDENCE RATE
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);
}`
这对你有用。
祝福