Колориметрический справочник: таблички с заданным шагом

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

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 882
Сделал несколько функций, которые генерят всякие разные полезные колориметрические таблицы от CIE и прочих источников с выбранным шагом в нанометрах. А то как начинаешь чего считать - так вечно таблицы из разных источников и все с разным шагом. Просто шпаргалочка. Все равно массивы все собраны в одном месте - не сложно и табличек из них нагенерить.
Работает здесь:
http://rudtp.pp.ru/spectralcalc.php
внизу спойлер "Колориметрический справочник".

Если что забыл - допишу еще. По всей видимости придется и таблички Tristimulus Weighting Factors из ASTM E308 завести сюда же в массивы - не даются они пока к вычислению по ASTM E2022. А гейделевский ColorTool именно строго по этим табличкам TWF цвет считает, а не по CIE color-matching function и illuminant spectral power distribution. Отсюда и заметная разница в XYZ и Lab между гейделевским и гретаговским софтом. ASTM так накрутил вычисление этих таблиц, что даже и с поллитра не разобраться - пока проще не проверив их расчеты просто брать их таблицы целиком, как сделали в Гейделе.
 
берем первый пример, удаляем все патчи, кроме первого, ставим 0,1 для всех волн, кроме 500 нм (там 50, к примеру), жмем цвет в сргб - вместо саяна получается что-то типа чистого зеленого
 
Это никак не относится к справочнику.
Не совсем понял цель эксперимента. Шаг там 1 нм минимальный а не 0.1 и рабочий диапазон возможных значений тоже указан - шире просто колориметрических таблиц нет. Я иногда вставляю проверки - ошибочные данные не обсчитывать, но вариантов как обмануть может быть масса.
 
Если вы монохроматы какие-то хотите посчитать - то вот для ориентировки http://rudtp.pp.ru/pdf/Chromaticity_locus.txt
Не забываем, что это спектры Emission, а не Reflection (в первом примере отраженка, соответственно и формулы для вычисления XYZ разные). И модель RGB выбираем ProPhoto - на запредельных охватах ужимать цвет до охвата sRGB всегда недостоверно в любой программе.
Затрудняюсь сказать какой цвет у монохромата 500нм - лаб 64 254 -1 - что-то типа морской волны наверное, мне такое не на чем визуализировать.
 
Последнее редактирование:
а сейчас проверил - нормально саян показывает. 0.1 было не шаг, а значение для всех волн, кроме 500 нм, шаг 10 оставлял.
Считал да, как эмиссию монохромат.
По идее, оттенок не должен убегать, только насыщенность на мЕньшем охвате.
А чем отраженное будет отличаться от эмисси по формулам?
 
Screen shot 2015-05-18 at 7.17.50 PM.jpg

Примерная разница в модели sRGB края локуса на 490 и 500 нм. Достоверной такую визуализацию назвать нельзя - слишком велико сжатие, но приблизительно оценить можно, что за цвет.
 
В модели RGB оттенок очень убегает, не только насыщенность. Тут можно приделывать к каналам RGB разные костыли в виде маппинга, у меня просто клиппинг везде, я просто не вижу смысла "колдовать" над недостоверными цветами. Тот маппинг, что я вижу в фотошопе на мониторе с маленьким цветовым охватом меня совершенно не устраивает, ну и что тогда над ним голову ломать?
Разница в формулах в том, что в одном случае используется табличка с SPD иллюминанта а в другом нет - только кривые стандартного наблюдателя CIE.
 
Ну, ну иллюминант-то ясно, а так визуально реальный монохромат не сильно убегает от освещения. а по убеганиям - локус с RGB-битами очень нелинейно связан, так что на какие-то оттенки не хватает градаций (и на какие-то - насыщенности). Но в целом для средней полосы sRGB хватает (даже для неба, другое дело, что там при энкодинге уже цвета уходят, особенно по краям спектра, за границами праймариз типа индиго\фиолетового). Спектральное фото, закодированное в sRGB, вполне нормально смотрится. Но опять же, короче 450 надо красный подмешивать, при RGB захвате синий сенсор не различает спектр, потом весь синий идет как синий. А вот почему небо уплывает в мадженту обычно - загадка.
 
Просто я про то, что уж коли мы пользуемся каким-то сжатием охвата - ргб не лучшая наверное модель для маппинга. Мне Трантор дал Яна Моровича изучать, но я пока не изучал. Просто если есть выбор - берем что-то типа LCh за модель для сжатия, если нам руки выкрутили и заставляют в ргб ужиматься - можно как-то выкручиваться, чтобы не просто клипить, но мне алгоритмы так на вскидку не попадались мапинга в ргб, изобретать не стал, поэтому я просто режу. Для тех задач что я решаю резать даже надежнее. Если бы я писал фотошоп - то да, тут никуда не денешься.
Как визуально выглядит монохромат я не знаю, не видел, тем более завязанный на освещение - такого вообще никто не знает. Как опять-таки говорил Трантор, согласно классикам колориметрии, чтобы получить монохромат на отраженке, то есть зависящий от освещения - нужна энергия ядерного взрыва. Боюсь, что возможности нашего зрения при ядерном взрыве изучены - моментальная потеря зрения, а не голубой или зеленый оттенок. То есть опираясь на наши формулы мы можем приблизительно экстраполировать наши знания на эту неизученную область, тем не менее надо понимать, что экспериментальных данных нет для проверки.
 
Монохромат на отраженке и не будет. А вот эмиссионка без монохроматора - тупой, но рабочий способ - СД или ДВД под вольфрамом или на солнечном, но удобнеепод вольфрамом - из-за точечности уже полоса. Ограничиваем полоску чем-нибудь серым\черным с отверстием (я держателем для ЖК айвана) и направляем айвана (нужен навык). Я просто проверял визуальное распознавание длины волны, ну и вообще очень полезная штука для визуального референса.
Monochrome_Cyan_Spectrum_000.png




По RGB - вообще принципиальный косяк его в том, что яркость завязана на насыщенность (хочешь насыщенный цвет - будь готов к светимости, близкой к точке белого), что в реальности далеко не всегда так - к примеру, сцена может содержать солнечный свет и в то же время насыщенный,но с малой светимостью монохром.
а РГБ, по сути, - конус: в низких светимостях просто нет цвета - все стремится к серому.
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.