Вопрос по colors – Реализация Kubelka-Munk как Krita для смешивания цветов (цвета) как краски

4

Кто-нибудь знает, где найти или реализоватьФункция Кубелка-Мунк смешать цвет как натуральную краску?Эмануэль Тампони реализовала эту функцию в Критепроект с открытым исходным кодом, но я нигде не могу найти, чтобы этот или подобный метод был предоставлен для «естественного» доступа. смешивать цвета. Возможно, он является коммерчески чувствительным или частным, но если вы не спросите, вы не узнаете!

Молись-скажи, почему -1? glenstorey
Вы спрашиваете, реализовал ли кто-нибудь это в Какао? Сама функцияeasily found через гугл. Rob Keniger
Хороший споттинг. Нет, я не спрашиваю, как использовать эту функцию или аналогичную для естественного смешения цветов, как показано на видео. Я думаю, что сложная часть будет преобразовывать значения RGB во входные данные функции. glenstorey

Ваш Ответ

3   ответа
2

в которой используется упрощенная модель Кубелки-Мунка. Предполагается, что при смешивании все цвета имеют одинаковую концентрацию и что все цвета непрозрачны. Если это полезно, не стесняйтесь использовать его любым удобным для вас способом.

https://github.com/benjholla/ColorMixer

Спасибо, что поделились своей реализацией цветового микшера. Тем не менее, я думаю, что это не работает правильно. Например, для смешивания красного (255, 0, 0) с желтым (255, 255, 0) я должен получить вид апельсина: (например, 255, 128, 0), но я получу: 255, 2, 1, что такой же красный. Есть идеи? Я делаю что-то неправильно?
Нет, вы правы, похоже, что с моей реализацией все еще могут быть проблемы с микшированием. Я пытался преобразовать мое цветовое пространство RGB в RYB для работы, но это не помогло. Я немного озадачен некоторыми из смешанных цветов. Многие кажутся правильными, однако ...
2

предоставляемой только значениями RGB, чтобы выполнить истинное вычисление Кубелки-Мунка, так как вам нужны кривые как поглощения, так и рассеяния по видимому спектру. Вместо этого вы можете генерироватьrepresentative кривые отражения от значений RGB, а затем используйте информацию об отражении для выполнения вычитающей смеси, например, путем вычисления средневзвешенного геометрического значения двух кривых отражения.

Кроме того, если любое из значений отражательной способности окажется отрицательным в приведенном выше коде, тоsomewhat more complex version должен быть использован.
Извините за пюре. Я не могу понять, как получить разрыв строки в комментариях.
Коррекция: не усредняйте кривые отражения, как я предлагал. Это даст вам тот же результат, что и простое усреднение значений RGB! Вместо этого используйтеweighted geometric mean чтобы смоделировать смесь красок или умножить кривые вместе, если вы хотите смоделировать перекрывающиеся цветовые фильтры, которые намного "сильнее" вычитающая смесь.
Этот код Matlab преобразует sRGB в спектральный коэффициент отражения на основе длины волны:function reflectance=LSS(B12,sRGB) % compute target "linear rgb" values sRGB=sRGB(:)/255; % convert to 0-1 column vector for i=1:3 if sRGB(i)<0.04045 rgb(i)=sRGB(i)/12.92; else rgb(i)=((sRGB(i)+0.055)/1.055)^2.4; end end reflectance=B12*rgb;  Матрица B12 найденаhere. Как только два цвета sRGB были преобразованы в кривые отражательной способности, смешайте кривые (усредните их или, еще лучше, получите их «средневзвешенное геометрическое»).
4

который мы имеем в Крите. Это в calligra / krita / plugins / extensions / painterlyframework. Для резервирования нужна библиотека пигментов, но, думаю, вы можете легко абстрагироваться от этого.

Однако обратите внимание, что код находится под лицензией GPLv2 +. Если вы повторно используете код или файлы источников света, ваш код также должен быть GPL.

(для получения дополнительной информации, пожалуйста, свяжитесь со мной - [email protected] или boud на #krita на irc.freenode.net, я поддерживаю Krita).

Большое спасибо за ответ! Я уезжаю на неделю, но после этого пришлю вам электронное письмо. glenstorey
Вы реализовали это? Я сейчас работаю над той же проблемой ...
Похоже, этого больше нет в текущем коде Krita, развилось ли оно когда-либо в чем-то еще в Krita? Цифровой микшер цветов кажется самым близким.

Похожие вопросы