Re[11]: Восприятие цвета
От: McSeem2 США http://www.antigrain.com
Дата: 19.10.05 16:34
Оценка:
Здравствуйте, MichaelP, Вы писали:

MP>Чем доказали, что гамма монитора близка к 2.


Рискну оспорить. Это не гамма монитора, а гамма восприятия (сетчатка глаза плюс обработка мозговой нейросетью). Вот еще одна иллюстрация:



Разглядывать надо уже с расстояния метров 5-7. Гамма монитора здесь уж точно ни при чем — пиксел либо светится, либо не светится. Все пикселы излучают свет одинаковой (с большой точностью) интенсивности. Можно возразить, что здесь может присутствовать некая "паразитная засветка", но это на CRT — там пиксел накрывает чуть большую площадь, чем ему положено — за счет этого возникает дополнительная нелинейность (на принтере — вообще бардак, там пиксел — это клякса, накрывающая с десяток "пиксело-мест"). Но на LCD — все четко, там если и присутствует некая засветка, то настолько незначительная, что ей можно пренебречь.

Итак, что мы видим. Сплошной белый, черезстрочный белый и каждая четвертая линия белого. Но визуально они никак не тянут на соотношение 1.0 : 0.5 : 0.25, хотя интенсивность излучения находится именно в такой пропорции. Визуально же соотношение где-то 1.0 : 0.7 : 0.5.

Что я этим хочу сказать — черезстрочная сетка выглядит примерно в sqrt(2) темнее, чем сполошная белая область. Отсюда и "правильность" gamma=2.0.

И если уж быть совсем чесным, то я не вполне уверен, что sRGB — это именно перцептуально линейное пространство (ну или близкое к перцептуально линейному). Просто Чарльз Пойнтон меня "убедительно убедил" в этом. Ну и мои эксперименты это подтверждают.

Попробую порассуждать.
То, что линейная интерполяция между двумя крайними цветами дает явно видимый провал по яркости, обусловнено как раз геометрической сущностью перцептуально-линейного RGB. Иними словами, в перцептуально линейном RGB используется Евклидова метрика для визуально воспринимаемой яркости: sqrt(r*r+g*g+b*b). В физитчески линейном пространстве используется метрика Манхеттена: r+g+b. И gamma=2.0 — это как раз и есть функция преобразования метрик. Это несколько грубоватая интерпретация, но в первом приближении она верна и подтверждается практикой.

Кстати, в картинке со встречным черезстрочным градиентом и gamma=1.0, видимый провал по яркости посередине появляется именно потому, что перцептуально линейное пространство является чем-то не вполне естественным (хотя и экономным с точки зрения количества бит на пиксел). Цвет RGB=(127,127,127) выглядит примерно вдвое темнее, чем RGB=(255,255,255). Но физическая светимость при этом должна быть уменьшена вчетверо! Если мы ее уменьшим вдвое, например, черезстрочной белой закраской, то мы будем воспринимать ее не вдвое, а в sqrt(2) раз темнее. Другими словами, при gamma=1.0, это не середина "провалена", а края "подняты". Но единственный способ скомпенсировать это — "поднять середину", поскольку "опустить края" мы никак не можем.

MP>Кстати, если над этим методом поработать, то получится отличная тестовая картинка для выставления гаммы монитора. Чем-то она мне инуитивно нравится больше стандартных (их, в частности, приводил McSeem2 где-то выше по ветке). Наверное из-за того, что в ней сразу используются все оттенки серого.


Да, Синклер молодец — и как это я сам не сообразил. Новое слово в настройке гаммы!
По идее, надо еще пустить градиент по вертикали. Вот тогда точно будут представлены все оттенки серого.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.