- Сообщения
- 32
- Реакции
- 0
Добрый день!
Очень рад, что нашел такой полезный форум.
Будьте добры, помогите разобраться.
По работе пришлось писать программу для измерения цвета. Написал процедуры преобразования RGB в XYZ, далее - в L*a*b*. (Уточню, преобразование RGB-->XYZ выполнял в предположении, что базовые цвета R,G,B определяют цветовой охват sRGB, а исходные RGB требуют гамма-коррекции. При переводе в L*a*b* в качестве нормирующего использовался белый D65).
Все получилось. Любые координаты RGB трансформируются в L*a*b* также, как и в разных калькуляторах и в CorelDraw, (естественно, при условии, что в настройках цветового профиля указано, что исходный охват - sRGB). Единственная программа, которая отказывается показывать "правильные" значения - это Фотошоп.
Пример: RGB (56,87,159) преобразуется в CIELAB как (38;12.76;-42.79). В Кореле - аналогично: (38,13,-43). И только Фотошоп упорно выдает (38,7,-43).
Что я только не делал - и профили исходнику назначал разные, и в 16/32 бита конвертировал - все бесполезно.
Зачем мне это нужно. На работе коллеги в колориметрии рубят плохо, для них единственный авторитетный источник информации - это Фотошоп. И если результаты преобразования в моей программе и в Фотошопе разные, значит ошибка в моей программе. А я думаю, что это не так...
Подскажите, пожалуйста, в чем может быть проблема....
Очень рад, что нашел такой полезный форум.
Будьте добры, помогите разобраться.
По работе пришлось писать программу для измерения цвета. Написал процедуры преобразования RGB в XYZ, далее - в L*a*b*. (Уточню, преобразование RGB-->XYZ выполнял в предположении, что базовые цвета R,G,B определяют цветовой охват sRGB, а исходные RGB требуют гамма-коррекции. При переводе в L*a*b* в качестве нормирующего использовался белый D65).
Все получилось. Любые координаты RGB трансформируются в L*a*b* также, как и в разных калькуляторах и в CorelDraw, (естественно, при условии, что в настройках цветового профиля указано, что исходный охват - sRGB). Единственная программа, которая отказывается показывать "правильные" значения - это Фотошоп.
Пример: RGB (56,87,159) преобразуется в CIELAB как (38;12.76;-42.79). В Кореле - аналогично: (38,13,-43). И только Фотошоп упорно выдает (38,7,-43).
Что я только не делал - и профили исходнику назначал разные, и в 16/32 бита конвертировал - все бесполезно.
Зачем мне это нужно. На работе коллеги в колориметрии рубят плохо, для них единственный авторитетный источник информации - это Фотошоп. И если результаты преобразования в моей программе и в Фотошопе разные, значит ошибка в моей программе. А я думаю, что это не так...
Подскажите, пожалуйста, в чем может быть проблема....