Почему L * = 0 не соответствует черному в цветовом пространстве L * a * b *? - Фотопедия
8 голосов
/ 17 декабря 2014

Согласно двум источникам, которые я нашел, в цветовом пространстве CIELAB LAB значение L * = 0 соответствует черному. Цитата Википедия :

Три координаты CIELAB представляют яркость цвета (L * = 0 дает черный, а L * = 100 указывает на диффузный белый ...)

и цитата Фил Круз :

Ось L * представляет Легкость. Это вертикально; от 0, который не имеет легкости (то есть абсолютно черный) ...

Однако, похоже, это не так. Например, используя L * = 0, a * = 127, b * = 0, можно получить в Mathematica:

FullForm[ColorConvert[LABColor[0, 1.27, 0], "RGB"]]

(*RGBColor[0.46364605275068677, 0., 0.052627307663056185]*)

... который не черный.

Похоже, что это не ошибка Mathematica, так как она также воспроизводится (по крайней мере, на пару подписей) в Julia с использованием пакета Color.jl:

convert(RGB, LAB(0,127,0))

# RGB{Float64}(0.46778684693714695,0.0,0.04112312700274846)

Аналогично, визуализация цветового куба пространства цветов LAB находится в разделе Neat Examples страницы документации Mathematica для LABColor. Вот она, с L * = 0 гранью поверхности, указывающей на камеру:

enter image description here

За исключением куба в углу, большинство кубиков явно не черные. Итак, мой вопрос:

  • Почему настройка L * = 0 не обязательно соответствует черному в цветовом пространстве CIELAB? Разве L * не должен соответствовать воспринимаемой светимости? Если так, то почему некоторые части подпространства L * = 0 выглядят значительно ярче, чем черный?

1 Ответ

4 голосов
/ 18 декабря 2014

Каким бы ни было цветовое пространство "RGB" (sRGB?), Которое вы ввели в качестве места назначения в Mathematica, оно имеет ограниченный диапазон цветов, которые описываются значениями R, G и B, обычно аналогичными тому, что может производить монитор принтер может печатать и т. д. и намного меньше, чем Lab. Поскольку количество значений ограничено (256 для каждого цветового канала в 8-битном), цветовые пространства RGB стараются не тратить значения на цвета, которые невозможно воспроизвести, чтобы избежать неприятных побочных эффектов.

Преобразование из Lab в RGB заканчивается отсутствием цветов гаммы, и затем программа пытается сопоставить цвет Lab с наиболее близким цветом, который существует в целевом цветовом пространстве RGB, обычно путем обрезки любых значений <0 или> 1. до 0 и 1.

Если вы склонны играть с ним, вот отличный инструмент в Интернете, CIE Color Calculator от Брюса Линдблума, который можно использовать для быстрых интерактивных преобразований

...