You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
720 B
Python
24 lines
720 B
Python
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)
|