mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avfilter/vf_ocr: also export confidence of result
This commit is contained in:
parent
3f31726994
commit
96c79d4e1f
@ -12910,6 +12910,7 @@ Set character blacklist.
|
||||
@end table
|
||||
|
||||
The filter exports recognized text as the frame metadata @code{lavfi.ocr.text}.
|
||||
The filter exports confidence of recognized words as the frame metadata @code{lavfi.ocr.confidence}.
|
||||
|
||||
@section ocv
|
||||
|
||||
|
@ -100,11 +100,21 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
|
||||
AVFilterLink *outlink = ctx->outputs[0];
|
||||
OCRContext *s = ctx->priv;
|
||||
char *result;
|
||||
int *confs;
|
||||
|
||||
result = TessBaseAPIRect(s->tess, in->data[0], 1,
|
||||
in->linesize[0], 0, 0, in->width, in->height);
|
||||
confs = TessBaseAPIAllWordConfidences(s->tess);
|
||||
av_dict_set(metadata, "lavfi.ocr.text", result, 0);
|
||||
for (int i = 0; confs[i] != -1; i++) {
|
||||
char number[256];
|
||||
|
||||
snprintf(number, sizeof(number), "%d ", confs[i]);
|
||||
av_dict_set(metadata, "lavfi.ocr.confidence", number, AV_DICT_APPEND);
|
||||
}
|
||||
|
||||
TessDeleteText(result);
|
||||
TessDeleteIntArray(confs);
|
||||
|
||||
return ff_filter_frame(outlink, in);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user