[AI CC-CC2021] CMYK -> HSB ???

Станислав Хоффман

Участник
Топикстартер
Сообщения
277
Реакции
24
Всем привет, как скриптом конвертировать CMYK -> HSB ?
Более глобальная задача - хочу скриптом перевести коричневый из 4х красок в максимально близкий цвет из 3х красок, используя HSB значения для сравнения. Тестил в фотошопе - перегонял цвета и сравнивал по HSB, выходило отлично, цвет максимально близкий.
 
А разве существует прямое преобразовиние CMYK-HSB минуя RGB? Имхо это невозможно
 
А разве существует прямое преобразовиние CMYK-HSB минуя RGB? Имхо это невозможно
тогда уж LAB. Это что-то меняет? Пускай будет CMYK-LAB-HSB или CMYK-RGB-HSB. Цепочка не важна, важен результат.
 
Тогда какой сакральный смысл огород городить? При таком преобразовании цвет проходит сквозь бутылочное горлышко, чем это лучше, чем RGB или Lab сравнивать?
 
@~RA~, человеку хысыбы надо! (непонятно зачем)
 
Да не надо ему хысыбы, ему коричневый в 3 краски нужен.
 
Да не надо ему хысыбы, ему коричневый в 3 краски нужен.
Так на этот случай умные люди профиля соответствующие придумали, не сбивай человека своим индусским алгоритмом :4)
 
Так на этот случай умные люди профиля соответствующие придумали, не сбивай человека своим индусским алгоритмом

Не по теме:
:bayan:(Лагеряяяя)

Ему же математика для скрипта нужна, вот готовый алгоритм.
А циферки эти я из профиля и взял. ;)
 
вот готовый алгоритм.
Дурацкий алгоритм, оставлю на твоей совести сами цифры и линейность процесса (что уже само по себе внушает серьезные сомнения), но в данном алгоритме, как минимум, отсутствует контроль переполнения - как, например переведется C100M50Y0K10?
 
и линейность процесса
Где там линейность? Это же только пример для трёх значений. И даже по ним видно, что зависимость нелинейная.
контроль переполнения
Это же пример, намёк на решение. А контроль очевиден: каждая краска не может быть <0 && >100. Вышел за границы, значит решения нет (этим алгоритмом).
 
Это же только пример для трёх значений.
Ну если зафиксировать K=const то получается линейный
А этого не может быть потому что не может быть никогда
Вдобавок, даже если так - как ты собираешься значения подбирать все промежуточные?
Алгоритма по сути у тебя никакого нет кроме как брать цифирьки
 
Не получается. Возьмём, к примеру с = f (k).
11/10, 22/20, 32/30, 42/40. Где линия-то?
Брр поясни не пойму что у тебя есть что %8
А линейный потому как для K=const у тебя для любого CMY
C'=C+const
M'=M+const
Y'=Y+const
а это прямая линия
 
Я чего то недопонимаю?
Ты ж сам пишешь что для для k=10
с'=с+11
m'=m+6
y'= y+8
и эти константы 11,6 и 8 одинаковы для любых c,m,y
Линейное преобразование из 3мерного в 3мерное множества
 
Ну по K нелинейны, а относительно C,M,Y - линейны
Грубо говоря, у тебя черный раскладывается в одной пропорции независимо от исходного цвета
А это как то неправильно по логике