Я хотел бы преобразовать цвета RGB/HEX в соответствующее (нормализованное) числовое значение с учетом конкретной цветовой карты. Есть много утилит, которые могут выполнять прямую операцию (т. е. сопоставлять набор нормализованных значений с цветами RGB/HEX с помощью цветовой карты), но мне не удалось найти ни одной, выполняющей обратную операцию.
Вперед:
> import matplotlib.cm as cm
> cm.viridis([.2, .4, .6, .8, 1])
array([[ 0.253935, 0.265254, 0.529983, 1. ],
[ 0.163625, 0.471133, 0.558148, 1. ],
[ 0.134692, 0.658636, 0.517649, 1. ],
[ 0.477504, 0.821444, 0.318195, 1. ],
[ 0.993248, 0.906157, 0.143936, 1. ]])
Как я могу перейти от [ 0.253935, 0.265254, 0.529983, 1. ]
к 0.2
, зная, конечно, что они исходят от viridis
?