Если все интервалы сделать равными по длине, то получим линейное пространство (без гамма-коррекции). Сформируем в этом пространстве серый градиент, в котором rgb-координаты линейно меняются от нуля до 255 (точкам градиента 0.25, 0.50 и 0.75 соответствуют rgb-координаты (64, 64, 64), (128, 128, 128) и (191, 191, 191)). Изобразим полученный градиент в графическом редакторе и увидим, что светлая часть градиента непомерно велика (Рис. 2.3а). Это объясняется тем, что в отличие от сенсора фотокамеры система «глаз-мозг» воспринимает яркость
Рис. 2.3.
Чтобы «подстроиться» под нелинейность зрительной системы человека, применяется
Одна и та же точка голубого неба будет на экране выглядеть одинаково для линейного RGB-пространства и для пространства с гамма-коррекцией, в то время как значения координат будут различаться: будет что-то вроде (79, 170, 228) для линейного пространства и (151, 213, 243) для пространства с гамма-коррекцией.
Теперь перейдем к случаю цветового пространства с большей глубиной цветности, например, 16-бит на канал, плавающая запятая. В этом пространстве оба варианта нашего серого градиента
Рис. 2.4
.Есть ли альтернатива гамма-коррекции? Существуют несколько способов превратить градиент на рисунке 2.3а в градиент на рисунке 2.3б, оставаясь в линейном пространстве:
1) «подкрутить» гамму дисплея;
2) добавить к изображению нужный профиль ICC (задающий «подкрученную» гамму);
3) растянуть темную часть градиента в графическом редакторе.
Первый способ плох, потому что все остальные картинки на экране, рассчитанные на стандартную гамму, станут очень темными. Второй способ – это по существу тот же третий, только растягивание происходило бы при каждом открытии изображения и выполнялось бы не пользователем, а модулем управления цветом. Третий способ рассмотрим подробнее.
Растянуть темную часть градиента в графическом редакторе можно с помощью различных инструментов: «уровни», «кривые» и «градиент в нелинейном пространстве». Воспользуемся последним вариантом, так как он дает немного лучшие результаты и им проще получить то, что нам нужно. Проделаем это для глубины цветности 8 бит на канал и 32 бит на канал, целые числа. Поскольку на глаз разница малозаметна, то оценивать качество получившегося градиента будем с помощью гистограммы. Для идеального градиента количество точек с определенным значением яркости одно и то же для всех значений яркости. Поэтому гистограмма распределения значений яркости для такого градиента должна выглядеть как прямоугольник, лежащий на горизонтальной оси, и все столбики должны быть одной высоты. Результаты же нашего эксперимента приведены на рисунке 2.5.
Рис. 2.5