ColorTool является 32 разрядным Windows-приложением, предназначенным для получения информации о цвете на экране монитора. Приложение может быть использовано для анализа цвета и создания палитр Adobe Photoshop.

ColorTool будет крайне полезен дизайнерам, веб-программистам, художникам, фотографам и другим творческим личностям, активно уделяющим внимание цвету. Теперь не нужно копировать содержимое экрана или сохранять изображения из браузера и открывать их в Photoshop, чтобы проанализировать и сохранить цвета.

В Интернете можно найти несколько десятков подобных приложений. Большинство «экранных пипеток» используют значения RGB в пространстве монитора, а не в стандартных пространствах типа sRGB. Как правило, отсутствует информация для Lab, HSP. Некоторые приложения некорректно выполняют вычисления (включая платные) или неудобны в использовании. Поэтому автор принял решение написать свою программу.

Преобразование RGB-значений одного пространства в RGB-значения другого сводится к следующим шагам:

1. Привести RGB к значениям в диапазоне 0..1
2. Выполнить гамма-преобразование для приведения RGB в линейный вид
3. Выполнить расчет матрицы преобразования из исходного RGB в целевое RGB и преобразовать RGB
4. Выполнить гамма-преобразование для целевого пространства
5. Привести RGB к 8-битному или 16-битному виду

Пункт 3 будет раскрыт подробно ниже. Рассмотрим на примере перевод RGB (169, 240, 135) из пространства Adobe RGB (D65, gamma 2.2) в пространство sRGB (D65, gamma ~2.2).

Откроем Adobe Photoshop, создадим новый документ в пространстве Adobe RGB (1998) и зальем его фон цветом RGB (169, 240, 135), затем выполним команду Edit->Convert to Profile и выберем профиль sRGB IEC61966-2.1 (Intent=Relative Colorimetric, Engine=Adobe (ACE), Use Black Point Compensation=False, Use Dither=False). Возможно, для кого-то будет удивительным, но RGB-значения станут 128, 240, 129.

В этой статье рассмотрим создание dual-illuminant DNG camera profile с помощью DCamProf, dcraw и утилит из состава Argyll CMS, а также моего приложения - pmaker.

Т.е. наша цель: создать dcp-файл, который можно использовать в ACR (а также Lightroom) или RawTherapee в качестве входного профиля камеры (+оптика+фильтры).

Баланс белого в RAW регулируется множителями RGB, которые по своей сути указывают RAW-конвертеру во сколько раз умножить значение конкретного канала. Другими словами, управление балансом белого сводится к экспокоррекции каналов. При этом большинство RAW-конвертеров использует для регулировки баланса белого инструменты Temperature (температура) и Tint (смещение оттенка). Температура задает величину CCT (Correlated Colour Temperature - коррелированная цветовая температура), которая выражается в Кельвинах и варьируется от теплых (желтых) оттенков с низкой температурой до холодных (голубых) с высокой температурой.

Давайте взглянем на значения баланса белого одного и того же снимка в режиме AsShot (т.е. как снято камерой) в разных RAW-конвертерах:

В этой статье рассматривается технология преобразования значений RGB из цветового пространства камеры (получаемые после интерполяции изображения), в целевое или выходное пространство, например, sRGB. B прежде чем приступить к обсуждению, напомню некоторые необходимые нам понятия:

Цветовая модель - это система, описывающая цвет, используя некоторые координаты. Среди широко используемых можно назвать RGB, CMYK, HSV, Lab, XYZ. Не нужно путать цветовую модель и цветовое пространство. sRGB - это цветовое пространство, использующее модель RGB. Среди цветовых пространств можно выделить AdobeRGB и ProPhoto RGB, как наиболее часто используемые фотографами. Цветовое пространство характеризуется прежде всего своим охватом, т.е. все возможные значения цвета в цветовом пространстве формируют некоторое тело (гамут) в цветовой координатной системе. Любые значения за пределами охвата этого тела называют внегамутными. Внегамутные цвета при перцептивном преобразовании обрезаются и в этом кроется главная опасность преобразований из одного пространства в другое. Трансформации из одного пространства в другое возможны напрямую (если это возможно), но чаще преобразование производится через промежуточное пространство XYZ или Lab, которое называют пространством соединения профилей (Profile Connection Space). Если Вам что-либо из этого абзаца незнакомо или непонятно, настоятельно рекомендую прямо сейчас начать ликвидировать пробелы (Википедия и море-океан Интернет-источников в помощь).