Как Photoshop преобразует Lab to RGB при яркости L=0 и высокой Chroma

  • Автор темы Автор темы mihas
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 882
Недавно понадобилось посчитать delta H между цветами и наглядный результат отправить клиенту. В онлайне на вскидку я нужного калькулятора не нашел. Посчитал в Exell. Но не смог сделать в нем наглядно. Measure Tool в окне Comparing сравнивает патчи наглядно но не считает delta H. Вобщем в результате я написал веб-калькулятор который и считает все нужные дельты и результат сравнения показывает в виде цветных плашек чтобы можно было сделать скриншот для клиента. Часть кода одолжил у Линдблума здесь и здесь. Математику трансформации Lab to XYZ to RGB взял здесь и здесь.
Стал сравнивать с тем как преобразует Lab в sRGB Photoshop (пока я не дописал функцию расширенной sRGB-гаммы, использую просто 2.2, поэтому в Photoshop для проверки ставлю рабочее пространство RGB - Simplified sRGB).
Обычные полиграфические гамутные цвета у меня с Photoshop сходятся а вот в глубоких тенях с высокой хроматической составляющей у нас с Photoshop разница. Я понимаю что черный цвет с нулевой яркостью L=0 не может быть хроматическим, однако никто не мешает вбить в Photoshop и калькулятор Lab 0 127 127 и посмотреть что будет. Выяснилось, что Photoshop переводит голубой, зеленый и желтый черные в нейтральный черный RGB 0 0 0. Тогда как синий, фиолетовый и красный при яркости L=0 он интерпретирует как вполне насыщенные цвета (см. аттач).
Отсюда вопрос: Не подскажете, что за математику использует Photoshop при пересчете Lab to XYZ to RGB при L близком или равном нулю и большИх значениях Chroma? Это фишка? Ошибка? Правильно считать по формулам, приведенным у Линдблума и в Википедии, или надо считать как Photoshop? Или наплевать на цифры в гипотетических цветах за границами видимости?
P.S. Извините что аттач почему-то не вложился, оформил в виде линка.
 
Measure Tool / Comparing еще интереснее ведет себя с несуществующими цветами при нулевой яркости: в окошках Reference и Sample визуализирует патчи иначе чем в окошке сравнения. Вобщем я запутался как их правильно перевести в RGB: здравый смысл подсказывает что все эти "оттенки" должны быть приведены к цифрам RGB 0 0 0
L0_MT.jpg
 
Ответ: Как Photoshop преобразует Lab to RGB при яркости L=0 и высокой Chroma

Меня тоже всегда удивляла картина в Фотошоповском окне Color Picker при нулевом L. И некоторое время назад я задавал здесь вопрос на схожую тему. И вот тут получил ответ который, возможно, будет ответом и на Ваш вопрос.
 
Ответ: Как Photoshop преобразует Lab to RGB при яркости L=0 и высокой Chroma

Спасибо, интересная тема и интересные ответы.
Я просто когда проверял, правильно ли перевел формулы Lab -> XYZ -> RGB на javascript, не забыл ли где поделить на 100 или умножить на 255:y), сверялся с результатами калькулятора Линдблума и с результатами Photoshop. И меня удивило, что при яркости близкой нулю резульаты Photoshop резко отличаются от результатов матричного преобразования. Вот я и подумал что там еще какие-то формулы задействованы, а раз задействованы, то почему они такие странные, черно-зеленый становится черным а черно-фиолетовый - ярко фиолетовым.
Дописал честную гамму sRGB но ясности не прибавилось. Разница в тенях есть между ней и гаммой 2.2 но не такая.
 
Ответ: Как Photoshop преобразует Lab to RGB при яркости L=0 и высокой Chroma

А можно ли найти охват Human Visual Space в виде формул, уравнений или таблиц? А то в виде трехмерной картинки пространство это есть, значит можно получить описание этого пространства, чтобы вычислять, находятся ли значения Lab за его пределами или нет. Погуглил но не нашел.
 
Статус
Закрыто для дальнейших ответов.