Максвелл Цвет Треугольник с Matplotlib - PullRequest
0 голосов
/ 06 января 2019

Я хочу создать цветовой треугольник Максвелла

enter image description here

(https://homepages.abdn.ac.uk/npmuseum/article/Maxwell/Legacy/MaxTri.html)

с использованием Matplotlib. Я нашел код для чего-то похожего: http://www.f -legrand.fr / scidoc / docmml / image / niveaux / couleurs / couleurs.html

Однако в этом случае равные пропорции R, G и B дают более темные цвета, а это не то, что я хочу.

Любые идеи приветствуются. Я действительно борюсь с этим.

1 Ответ

0 голосов
/ 06 января 2019

Внутри треугольника Максвелла: r + g + b = 1.0, это означает, что центром будет RGB (1/3, 1/3, 1/3) (диапазон [0.0,1.0]), который темнее по сравнению с белым RGB (1.0,1.0,1.0).

Чтобы получить белый цвет (RGB (1.0,1.0,1.0)) в центре, можно умножить значения RGB на 3,0: центр будет идеально белым, но значения вне границ будут обрезаны, т.е. RGB (2,0 , 1.0,1.0) будет отображаться как RGB (1.0, 1.0, 1.0).

RGB values * 3

Другой способ заключается в максимизации яркости: RGB (r, g, b) -> 1 / max (r, g, b) * RGB (r, g, b), например. RGB (0,2, 0,5, 0,1) -> RGB (0,4, 1,0, 0,2). Таким образом, значения никогда не обрезаются, а яркость максимальная.

RGB * 1 / max(r,g,b)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...