Преобразование между цветовыми пространствами RGB и RYB

В настоящее время я пытаюсь преобразовать цвета между цветовым пространством RGB (красный, зеленый, синий) и цветовым пространством RYB (красный, желтый, синий) и обратно .

Основываясь на деталях, приведенных в следующей статье, я могу преобразовать из RYB в RGB с помощью трилинейной интерполяции - где параметрические веса (s, t, u) - это цвета RYB, а вершины куба - это трехмерные точки. в пространстве RGB.

Рисование на основе смешения цветов и компоновка для визуализации - Госсет и Чен - Раздел 2. 1 - Детали реализации

Мои трудности заключаются в том, чтобы обратить вспять процесс преобразования.

Во второй статье упоминается использование этой техники, а также указывается, что обратное преобразование было достигнуто с использованием метода Ньютона. Но не приводит подробностей. Это, вероятно, указывало бы на поиск корня при решении трилинейных интерполяционных уравнений.

О переносе живописного стиля в фотографические изображения через внимание к цветовому контрасту - Сяоянь Чжан; Констебль, М .; Ying He;

Прежде чем я расширю этот вопрос с помощью уравнений, видел ли кто-нибудь или решил это на таком языке, как Java / C / C ++ / C #?

Мой текущий подход состоит в том, чтобы взять прямые уравнения трилинейной интерполяции (RYB в RGB), развернуть и переупорядочить, чтобы получить 3 одновременных уравнения для 3 неизвестных (параметрические веса: s, t и u), а затем выясните, как найти корни с помощью метода Ньютона-Рафсона. Правильно ли я поступаю?

Я скоро отредактирую этот вопрос, чтобы предоставить уравнения.

Большое спасибо за ваше время,

Бен

10
задан Ben 9 February 2011 в 13:25
поделиться