ffmpeg | branch: master | Paul B Mahol <[email protected]> | Fri May 17 19:00:47 2019 +0200| [96c79d4e1fd87dbedfd70ed876ee257ddda2ba90] | committer: Paul B Mahol
avfilter/vf_ocr: also export confidence of result > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=96c79d4e1fd87dbedfd70ed876ee257ddda2ba90 --- doc/filters.texi | 1 + libavfilter/vf_ocr.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/doc/filters.texi b/doc/filters.texi index 0d06278665..163ffef13f 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -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 diff --git a/libavfilter/vf_ocr.c b/libavfilter/vf_ocr.c index abfff49438..d5f76059b7 100644 --- a/libavfilter/vf_ocr.c +++ b/libavfilter/vf_ocr.c @@ -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); } _______________________________________________ ffmpeg-cvslog mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
