Преобразование RGB в L*a*b*. Фотошоп врет. Почему?

Статус
Закрыто для дальнейших ответов.

polbol

15 лет на форуме
Сообщения
1 410
Реакции
402

Не по теме:
мужики. вы чего курили? выдыхайте уже. ))
 

Fedor_Fedor

Участник
Топикстартер
Сообщения
32
Реакции
0
Trantor, Mihas, спасибо.

Понял, в чем проблема. Промоделировал - работает.

По-прежнему не понимаю логику разработчиков Фотошопа.

Постараюсь привести аналогичный пример. Мне нужно расчитать силу тяжести пудовой гири, если она находится на поверхности Земли и Луны. Отлично. F=m*g. В первом случае я использую ускорение свободного падения g=9.8 м/c^2, во втором g= 1.7 м/c^2. Все просто и логично. Фотошоп работает иначе. Независимо от того, где измеряется сила тяжести гири, он считает, что gвсегда равно 1.7 м/c^2. Это константа. Ускорение свободного падения на поверхности Луны. Поэтому, если мы хотим правильно посчитать в Фотошопе силу тяжести гири вблизи Земли, мы должны произвести адаптацию, помня о том, что Фотошоп упертая программа, в которой только одно значение g, соответствующее ускорению свободного падения на Луне. Вот что мне непонятно…

Каков физический смысл хромадаптации?
 

Fedor_Fedor

Участник
Топикстартер
Сообщения
32
Реакции
0
У меня пока есть такая догадка. Допустим, у меня есть... морковь с координатами цвета С (200,100,50) в системе sRGB. Я должен считать, что так выглядит морковь, если ее освещать белым D65. Если я применю "цветовую адаптацию к белому D50", то получу новый цвет С1 - это будет новый цвет все той же морковки, но как будто ее осветили белым D50. Правильно я понимаю? (Я работаю с дисплеями и камерами, где используется излучение (поглощение), а вы, наверное, с бумагой, где используется отражение. Поэтому мне сходу сложно вникнуть, каша в голове).
 

TRANTOR

Son of a Gun
R.I.P.
Сообщения
4 566
Реакции
2 956
Это свойство зрительной системы, которое при смене источника освещения выравнивает нейтральные (серые) цвета обратно (грубо говоря). Но и не только их.

Для более полного понимания советую прочесть книгу "Марк Д.Фейрчайлд - Модели цветового восприятия".
 

Fedor_Fedor

Участник
Топикстартер
Сообщения
32
Реакции
0
Это свойство зрительной системы, которое при смене источника освещения выравнивает нейтральные (серые) цвета обратно (грубо говоря).
Спасибо за книгу. Поищу, почитаю. Но потом. Сейчас некогда, работу нужно доделать. Trantor, мои догадки (в предыдущем посте) правильные? Каков физический смысл хромадаптации?
А свойства зрительной системы я чуть-чуть понимаю. Физиологию.
Мне сейчас математику колориметрии понять важнее...
 

TRANTOR

Son of a Gun
R.I.P.
Сообщения
4 566
Реакции
2 956
мои догадки (в предыдущем посте) правильные?
Почти.

Предположим, что мы освещаем лист бумаги (для простоты лучше рассматривать не овощи и фрукты, а что-то более нейтральное) иллюмимнантом D50. Зрительная система восприняла лист как белый. Мы сменили осветитель на лампочку накаливания, иллюминант A (более показательный пример), и снова зрительная система восприняла его белым. Зрительная система хроматически адаптировалась, лист остался белым.

физический смысл хромадаптации?
На первом этапе хромадаптации (их вообще несколько, чем дальше, тем сложнее) можно сказать, что коэффициенты усиления колбочкового отклика изменились. Именно этот этап можно представить матричным преобразованием в колбочковом домене, который можно линейно транслировать в XYZ, который, в свою очередь, эдакий "RGB глаза". Данный эффект описал фон Криз и предложил матрицу трансформации, а затем в университете Бредфорда матрицу еще немного доработали. С тех пор эти матрицы хромадаптации носят соответствующие имена. В Фотошопе используется матрица хромадаптации Бредфорда. Есть так же более новые матрицы, например CAT02.

Однако, т.к. механизмов хромадаптации несколько, не только колбочковое "отбеливание", матричного описания недостаточно. Дальнейшие работы продолжаются и поныне.
 
Последнее редактирование:
  • Спасибо
Реакции: colorprint, german и mihas

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
@TRANTOR спасибо за понятное разъяснение физиологии хромадаптации. Я просто добавлю теперь с точки зрения инженерии, что так же смысл этих матричных уравнений можно представить проще всего так, чтобы белый всегда оставался белым. Вот есть у вас в картинке sRTB белая точка D65, а монитор откалиброван с белой точкой D50 к примеру или с 8000K. Монитор-то мы калибруем под окружающее освещение а не подо что иное. Без хромадаптации белый на нашей картинке будет синим в первом случае и желтым во втором.
Колориметрия уже шагнула дальше матричных уравнений и помимо последней матрицы CAT02 существует еще более интересное изобретение - CIECAM02 - хромадаптация с наредкость сложными формулами, призванными учитывать влияние окружения (surround) сцены кроме адаптации к освещению. К сожалению в компьютерную логику ICC CIECAM02 от Фейрчайлда плохо укладывается по моему мнению. CAT02 как я понимаю - попытка загнать результат взаимодействия более сложных формул в простое матричное уравнение, результаты адаптации CAT02 и CIECAM02 близки но не равны.
 
  • Спасибо
Реакции: colorprint

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
white point для Lab считать относительно D50. Назвало это Lab PCS, стало оно стандартом и никто не возражал.
Я и не возражаю. Я возражаю против того, чтобы считать CIE Lab и D50 Lab синонимами. Лабы CIE могут быть не только D50.
 

Fedor_Fedor

Участник
Топикстартер
Сообщения
32
Реакции
0
Монитор-то мы калибруем под окружающее освещение а не подо что иное.
Mihas, может я что-то не понял в вашем посте, но, по-моему, вы как-то неверно представляете калибровку. Я работал в авторизованном сервисном центре и как раз занимался калибровкой мониторов, под которой понимается много разных операций. Рассмотрим только часть. Итак, я подаю с компьютера на монитор сигнал RGB (255;255;255). На выходе видеокарты, кстати, размах сигнала в каналах R,G,B будет одинаков и ровно по 1 Вольту. Дальше, внимание, я выбираю на мониторе цветовую температуру, скажем, 6500К и прицепляю к экрану присоску спектроанализатора. В присоске - три светофильтра и три фотоприемника. Они "ловят" свет, излучаемый монитором, а на внешнее освещение не реагируют никак. Дальше, я "кручу" (программно, через DDC-канал) усиления в каналах R,G,B видеоусилителя монитора и добиваюсь того, чтобы спектроанализатор показал координаты 0,313 и 0.329. Таким образом, в настроенном мониторе при подаче на вход одинаковых сигналов на экране мы видим "тепло-холодный" белый цвет D65. Аналогично я настраиваю усиления каналов для цвета 5000К и 9300К. Для каждого цвета - свои значения усиления в каналах R,G,B. Они хранятся в памяти и подставляются при смене цветовой температуры на мониторе. Поэтому не совсем правильно говорить "Монитор откалиброван с белой точкой". Вы, наверное, больше с типографией имеет дело. У типографов голова заточена под отражение. Они всегда учитывают источник освещения. А на настройку монитора внешнее освещение никак не влияет.
 

Fedor_Fedor

Участник
Топикстартер
Сообщения
32
Реакции
0
Я и не возражаю. Я возражаю против того, чтобы считать CIE Lab и D50 Lab синонимами. Лабы CIE могут быть не только D50.
Я вообще пока ваш спор не понимаю.

Смысл нормировки в CIELAB - сделать так, чтобы для белого, который получается при сложении 255 R+255G+255B, координаты Lab были 100,0,0.

Поясняю:
Если 255R+255G+255B = белый D65, то в качестве нормирующего нужно использовать белый D65. Посмотрите в формулы - в этом случае вы получите L=100, a=0, b=0.
Если 255R+255G+255B = белый А, то в качестве нормирующего нужно использовать белый А. В этом случае вы получите L=100, a=0, b=0.

Таким образом нормирующий белый в CIELAB должен совпадать с опорным белом того цветового пространства, для которого выполняется преобразование RGB->LAB. Так сделано в КорелДроу.
 

Fedor_Fedor

Участник
Топикстартер
Сообщения
32
Реакции
0
Таким образом нормирующий белый в CIELAB должен совпадать с опорным белом того цветового пространства, для которого выполняется преобразование RGB->LAB. Так сделано в КорелДроу.

Нашел тоже самое - английским по белому написано:

Each RGB system has a white point(w). The transformation to CIELab requires a reference white point (n) which is either (w) or D50.
http://docs-hoffmann.de/cielab03022003.pdf
 

Fedor_Fedor

Участник
Топикстартер
Сообщения
32
Реакции
0
Если найдешь какой другой Lab не нормированный на D50, будет здорово.
Lab - это колориметрическая система. Разве она может быть на что-то нормирована? Я могу представить в декартовой системе функцию, могу ее нормировать к максимальному значению этой функции. Но "нормировать декартову систему координат к какому-то конкретному числу" - это сильно! :)
 

Sergant155

10 лет на форуме
Сообщения
464
Реакции
225
Lab - это колориметрическая система. Разве она может быть на что-то нормирована?
судя по вашим вопросам вы или не знаете или основательно забыли как вообще была создана система CIE Lab
почитайте, хотя бы здесь
Color Management System (CMS) в логике цветовых координатных систем. Часть I |
 

Fedor_Fedor

Участник
Топикстартер
Сообщения
32
Реакции
0
судя по вашим вопросам вы или не знаете или основательно забыли как вообще была создана система CIE Lab
почитайте, хотя бы здесь
Я приводил выше ссылку на источник, где указано, что нормирующим белым в CIELAB должен быть тот же белый, который является опорным в RGB. Этот вывод, к которому я пришел самостоятельно, совпадает с мнением Гернота Хофмана - немецкого специалиста в области колориметрии, который написал несколько монографий по колориметрии. У вас другое мнение.
Цитата из "вашего" источника: "Помимо Lab D50 и Lab D65 существуют: Lab D55, Lab D75, Hunter-Lab (названа по фамилии разработчика)". Вот тут точно у человека каша в голове. Если в системе CIELAB он иcпользует нормирующий D65, то называет систему LAB65, если нормирующий D50 - называет LABD50.... А HunterLab и CIELAB (он же L*a*b*) - это две принципиально разных системы представления цвета.

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

DimB

15 лет на форуме
Сообщения
766
Реакции
392
Этот вывод, к которому я пришел самостоятельно...
Такое впечатление, что цифры XYZ и цифры Lab для Вас являются некими абсолютными величинами.
Т.е. то, что при неизвестных осветителе и наблюдателе они не несут никакого практического смысла никак не учитывается.
Если в Вашей отрасли используется D65, то издательский софт Вам не подходит.
Ищите специализированный. Ну или пересчитывайте.
 

DimB

15 лет на форуме
Сообщения
766
Реакции
392
Вот кстати из текстильной отрасли:
"In addition, the 10° observer and the newer D65 daylight illuminant are more often specified in common practice."
Т.е. у них свой вариант. В автомобильной лакокрасочной тоже вроде бы D65.


Не по теме:
Надо зайти к ним на форум, и написать, что их софт считает неправильно :)
 

Fedor_Fedor

Участник
Топикстартер
Сообщения
32
Реакции
0
Такое впечатление, что цифры XYZ и цифры Lab для Вас являются некими абсолютными величинами.
У вас правильное впечатление. Зрительный аппарат человека - сложная штука, наверное, не поддающаяся математическому описанию. А вот колориметрические системы, в т.ч. XYZ и LAB создали не витающие в небесах лирики, а физики и математики. Есть математически строгая однозначная модель пересчета XYZ в LAB и обратно.
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
Если найдешь какой другой Lab не нормированный на D50, будет здорово.
Что-то ты меня путаешь! Адаптированные к D50 лабы только внутри преобразований ICC нужны, во всех остальных случаях никакой нормировки именно к D50 не требуется. Нужен CIE Lab D65 для упоминаемой цели вычисления Whiteness - будет D65, и никаким боком он к D50 не относится. Наоборот, если попытаться втащить в формулу Whiteness Lab D65 с адаптацией к D50 - получим катастрофически грубую ошибку в вычислениях.
 
Статус
Закрыто для дальнейших ответов.