From 85ec36218e9ded81a2feac791d80ddba7e492989 Mon Sep 17 00:00:00 2001 From: Kai Date: Wed, 3 Feb 2021 15:31:36 +0100 Subject: [PATCH] support visualization of ocr confidences --- tsvtools/ocr.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tsvtools/ocr.py diff --git a/tsvtools/ocr.py b/tsvtools/ocr.py new file mode 100644 index 0000000..6601bb5 --- /dev/null +++ b/tsvtools/ocr.py @@ -0,0 +1,23 @@ +import numpy as np +import pandas as pd + + +def get_conf_color(conf, min_conf, max_conf): + + conf = min_conf if conf < min_conf else conf + conf = max_conf if conf > max_conf else conf + + interval_size = (max_conf - min_conf) / 2.0 + + colors = np.array([[216, 108, 117], [216, 206, 108], [108, 216, 146]]) + + colors = pd.DataFrame(colors, index=[0, 1, 2], columns=['R', 'G', 'B']) + + lower = np.floor((conf - min_conf) / interval_size) + upper = np.ceil((conf - min_conf) / interval_size) + + pos = (conf - min_conf) / (2.0*interval_size) + + col = (colors.loc[lower] * (1.0 - pos) + colors.loc[upper] * pos).astype(int) + + return '#{:02x}'.format(col.R) + '{:02x}'.format(col.G) + '{:02x}'.format(col.B)