Easyelectronics.ru

Электроника для всех
Текущее время: 11 апр 2021, 09:49

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 12:16 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
Нужна формула субтрактивного смешения 2 и 3 цветов. Это цвета в формате CMYK. Например, есть первый цвет: С = 10%, M = 95%, Y = 93%, K = 2% и второй цвет: С = 66%, M = 0%, Y = 100%, K = 0%. Как расчитать значения CMYK с учетом того, что цвета могут браться в разной пропорции?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 12:29 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
011119xx писал(а):
Нужна формула субтрактивного смешения 2 и 3 цветов. Это цвета в формате CMYK. Например, есть первый цвет: С = 10%, M = 95%, Y = 93%, K = 2% и второй цвет: С = 66%, M = 0%, Y = 100%, K = 0%. Как расчитать значения CMYK с учетом того, что цвета могут браться в разной пропорции?
Название темы неправильное. CMYK - аддитивная схема смешения, RGB - субтрактивная.


Последний раз редактировалось AlexPM 21 май 2013, 12:37, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 12:30 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
011119xx писал(а):
Как расчитать значения CMYK с учетом того, что цвета могут браться в разной пропорции?
Как альфа-блендинг не получится?
C = C1*a + C2*(1-a); и т.д.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 12:50 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
AlexPM писал(а):
Название темы неправильное. CMYK - аддитивная схема смешения, RGB - субтрактивная.

Ты не прав!
AlexPM писал(а):
Как альфа-блендинг не получится?
C = C1*a + C2*(1-a); и т.д.

Это не то. Нужна реальная формула, а не гадание.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 13:15 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
011119xx писал(а):
AlexPM писал(а):
Название темы неправильное. CMYK - аддитивная схема смешения, RGB - субтрактивная.

Ты не прав!
Да, с утра перепутал :-) , поэтому альфу и предложил.
CMYK для печати на бумаге, действительно субтрактивный. (RGB - для активных источников света, аддитивный).
Альфа-блендинг 100% подходит для аддитивного смешения,и это не гадание :-) Но для субтрактивного альфа не пойдёт.

Можно получить работающую формулу в три этапа:
1) конверсия CMYK -> RGB (формулу найдёте?);
2) операция альфа-блендинга с RGB-цветами, результат RGB;
3) конверсия RGB -> CMYK.

Проверка - хотя бы в Экселе: там удобно цвета вычислять через VBA, по результатам красить клетки.


Последний раз редактировалось AlexPM 21 май 2013, 13:19, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 13:18 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
У меня на экране изначально цвета RGB. Я их преобразую в CMYK. Тут их надо смешать, а потом обратно в RGB на экран.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 13:20 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
011119xx писал(а):
У меня на экране изначально цвета RGB. Я их преобразую в CMYK. Тут их надо смешать, а потом обратно в RGB на экран.
Нельзя как-то перенести смешивание на более ранний момент в алгоритме, пока цвета ещё в пространстве RGB?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 13:27 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
Нет. Потому, что RGB смешивание это уже аддитивное, оно подходит для мониторов. Мне то надо краску смешивать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 13:38 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
011119xx писал(а):
Нет. Потому, что RGB смешивание это уже аддитивное, оно подходит для мониторов. Мне то надо краску смешивать.
Это мне что-то напомнило... В магазинах OBI в отделах, где продают краски, установлены компьютеры с мониторами, на которых покупатель может визуально смешивать краски (т.е. на RGB-мониторе имитируется субтрактивное смешивание!) и подбирать желаемый оттенок.
Значит, OBI эту задачу уже решило.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 13:53 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
И не только OBI решило эту задачу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 15:17 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
011119xx писал(а):
У меня на экране изначально цвета RGB. Я их преобразую в CMYK. Тут их надо смешать, а потом обратно в RGB на экран.
Всё ещё не решаетесь?

1) конверсия CMYK -> RGB:
Код:
R1 = 1-C1-K1;  G1 = 1-M1-K1;  B1 = 1-Y1-K1;
R2 = 1-C2-K2;  G2 = 1-M2-K2;  B2 = 1-Y2-K2;

2) операция альфа-блендинга с RGB-цветами, результат RGB:
Код:
R = R1*a + R2*(1-a);  G = G1*a + G2*(1-a);  B = B1*a + B2*(1-a);

3) конверсия RGB -> CMYK:
Может, уже и не нужно, раз отправляете обратно на RGB-дисплей. Но если хотите, то
Код:
C = 1-R;  M = 1-G;  Y = 1-B;
K = min(min(C,M),Y);
C -= K;  M -= K;  Y -= K;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 15:36 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
У меня в качестве исходных идут RGB цвета, а не CMYK. Я перевожу RGB -> CMYK. Надо CMYK смешивать, а не RGB.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 15:50 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
011119xx писал(а):
У меня в качестве исходных идут RGB цвета, а не CMYK. Я перевожу RGB -> CMYK. Надо CMYK смешивать, а не RGB.
Понятно. Разговор с глухим. Подставьте формулы (1) в формулы (2), (3) и получите одну длинную формулу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 21 май 2013, 23:03 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2918
Откуда: Санкт-Петербург
011119xx, а нету формулы.
Можно подобрать две пары красок с одинаковыми cmyk, которые при смешивании в одной и той же пропорции дадут разные цвета.

Ну и метод смешивания вы не описали. Одно дело - перемешать две краски, другое - типографский растр (вот он более-менее предсказуем).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 22 май 2013, 07:21 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
Смешивать нужно 2 и 3 реальных краски... Благодаря инету продвинулся до следующего. Реальнее сделать преобразование каждого цвета в Lab, то есть RGB -> Lab. Потом смешать цвета в Lab. Якобы это делается просто: L = (L1 + L2)/2, a = (a1 + a2)/2, b = (b1 + b2)/2. А потом преобразовать обратно Lab -> RGB. Нашел алгоритмы этих преобразований здесь http://www.easyrgb.com/index.php?X=MATH и написал тестовую программу. Но почему-то результат моих преобразований отличается от того что получается в виртуальном миксере http://www.goldenpaints.com/products/mixer/ , который я пытаюсь повторить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 22 май 2013, 09:35 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2918
Откуда: Санкт-Петербург
Эта формула - для смешивания растром.
И то тут есть подвох в виде гаммы монитора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 23 май 2013, 10:42 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
Да. Эти формулы не подходят. Цвет смеси не тот получается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 23 май 2013, 12:12 
Здравствуйте!

Зарегистрирован: 20 фев 2013, 23:36
Сообщения: 3
Тут проблема в семантике, ибо ЦМИК это цвет, а РГБ это свет, а цвет и свет смешиваются по разному... :)
И никогда преобразование туда-сюда не будет однозначным. Потому что черный в цмике можно получить 2-мя способами, один это просто черный, а второй, это смесь всех. И этим 2-м черным будет соответствовать один черный в ргб. То же самое относится ко всем оттенкам серого, да и вообще куче цветов в ргб соответствует 2 цмиковых. Для корректного отображения нужно работать только со цмиковыми цифрами, а потом конвертить их в ргб только для отображения. Из РГБ получить однозначный цмик нельзя, а уж темболее нельзя смешать ргб и получить тот же цвет что и при смешивании цмика!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 23 май 2013, 14:34 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
Совершенно верно все!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 23 май 2013, 15:02 
Здравствуйте!

Зарегистрирован: 20 фев 2013, 23:36
Сообщения: 3
Ну а проблема тода в чем? Если ты берешь смешиваешь 2 цмиковых цвета в соотношение а к в, а+в=1, то новый получится аС1+вС2 аМ1+вМ2... т.е. твой 38/47,5/96,5/1 получится, ну если в равной пропорции мешать...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 23 май 2013, 15:07 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
То есть так C = C1+C2, M = M1+M2, Y = Y1+Y2, K = K1+K2?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 23 май 2013, 15:36 
Здравствуйте!

Зарегистрирован: 20 фев 2013, 23:36
Сообщения: 3
Нет. Ты же смешиваешь в определенной пропорции, если новая краска у тебя состоит из 30% первой и 70% второй, то С=0,3*С1+0,7*С2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 23 май 2013, 15:49 
Старожил

Зарегистрирован: 15 янв 2013, 13:24
Сообщения: 5665
LamobotV_1.0 писал(а):
Нет. Ты же смешиваешь в определенной пропорции, если новая краска у тебя состоит из 30% первой и 70% второй, то С=0,3*С1+0,7*С2
Это я ему уже предлагал:
AlexPM писал(а):
C = C1*a + C2*(1-a); и т.д.
Не хочет :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 23 май 2013, 15:50 
Старожил
Аватара пользователя

Зарегистрирован: 27 апр 2011, 07:50
Сообщения: 404
Я просто сразу не понял ))). Попробую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Формула субтрактивного смешения цветов (CMYK)
СообщениеДобавлено: 24 май 2013, 01:16 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2918
Откуда: Санкт-Петербург
Ещё раз повторяю: это - формула для смешивания растром (когда половина точек одного цвета, половина другого). При перемешивании двух красок вы получите другой цвет, темнее. Причём чтобы его вычислить - недостаточно знать цвета красок.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB