Цветовые пространства
CIE 1931 XYZ - цветовое пространство, которое охватывает все цветовые ощущения, которые видны человеку со средним зрением. Это пространство является базовым, на основе которого определяются многие другие цветовые пространства. Множество цветов в пространстве CIE 1931 XYZ описывается локусом в координатах XY.
Стандартное цветовое пространство (или цветовая модель) для компьютера и Интернета: sRGB. Это пространство учитывает полутона (255 на каждый из трех цветов) и гамма-коррекцию. Подробнее о sRGB можно почитать здесь. А о гамма-коррекции здесь и здесь. Треугольник цветности определяется следующими значениями цветовых координат:
В качестве опорного белого цвета в этом пространстве выбран не равноэнергетический цвет Е, а цвет D65. На диаграмме локус и цветовой треугольник sRGB выглядят так:
Преобразование sRGB - CIE XYZ
Преобразование производится в 3 этапа. Во-первых, нужно преобразовать нелинейные (гамма откорректированные) значения яркости в линейные. Это делается по следующей формуле:
На втором этапе, для определения цветовых координат нужно перемножить две матрицы:
Матрица коэффициентов 3х3 взята из рекомендации ITU-R BT.709. Те, кто помнит, как перемножать матрицы, может сделать это самостоятельно. Для более ленивых можно рекомендовать стандартную функцию табличного редактора: МУМНОЖ.
И, наконец, на третьем этапе нужно отнормировать координаты X', Y', Z:
Контрольные точки
Для проверки приведенных формул рассмотрим следующие контрольные точки: белый цвет D65 (255, 255, 255), красный цвет (255, 0, 0), зеленый цвет (0, 255, 0) и синий цвет (0, 0, 255).
Для начала применяем к исходным R, G, B формулу (1). Полученные линейные значения Rl, Gl, Bl умножаем на матрицу коэффициентов по формуле (2). И, наконец, нормируем полученные координаты X', Y', Z' в соответствии с формулой (3). Сказанное иллюстрируется следующей таблицей:
Сравнивая полученные значения XYZ с исходными, приведенными в таблице 1, можно отметить небольшую разницу. Это вызвано недостаточной точностью коэффициентов матрицы (4 знака после запятой). Увеличение разрядности коэффициентов снимет эту проблему.
Полутона
В пространстве sRGB присутствуют полутона (градации яркости) - 256 на каждый из 3 цветов, всего 16 777 216 цветовых оттенков. Пространство CIE 1931 XYZ в явном виде не предполагает наличия полутонов. Встает вопрос: работают ли вышеприведенные формулы с полутонами? В таблице 3 показано преобразование sRGB в XYZ для цветов половинной яркости:
Сравнение таблиц 3 и 2 показывает, что преобразование полутонов из sRGB в XYZ работает так же хорошо, как и преобразование цветов максимальной яркости.
В результате, с помощью указанных формул, можно рассчитать координаты любого компьютерного цвета и определить его положение в локусе.
Аналогично можно провести обратную операцию - преобразовать цвет с координатами XYZ в цветовое пространство sRGB и увидеть его на экране компьютера.