Конвертируется ли HSL в RGB до того, как мониторы смогут его «обработать»? - PullRequest
0 голосов
/ 18 ноября 2011

Привет, все, что мне было интересно, правда ли, что первым языком мониторов является RGB, а внутри все в RGB?

Значит ли это, что когда мы указываем значения цвета для «компонентов», HSL всегда преобразуется в RGB, прежде чем он подается на монитор,

Или наоборот?

Я знаю, что разные языки программирования могут иметь совершенно разные реализации, поэтому для языка RGB может быть лучшим выбором, но для другого языка HSL может быть лучшим выбором и т. Д., Но это скорее общий вопрос, например, перед тем, как «команда» отправлена ​​на монитор, находятся ли значения в «представлении rgb» или «представлении hsl»?

PS: интересно, лучше ли это подходит для SuperUser, хотя на самом деле это вопрос программирования.

Ответы [ 3 ]

2 голосов
/ 18 ноября 2011

Я сделал снимок массива субпикселей моего старого ЖК-дисплея с полностью белым экраном, на котором вы можете видеть (R) ed, (G) reen, (B) lue.HSL для облегчения жизни людей, поэтому он немного усложняет компьютер.

enter image description here

1 голос
/ 19 ноября 2011

HSL - это совершенно иррациональный цветовой формат. Компонент «L» HSL не имеет ничего общего с фактической интенсивностью серого, и фактически, если вы поверните компонент «H» изображения в пространстве HSL, вы обнаружите, что он часто инвертирует относительную интенсивность областей изображения и полностью разрушает градиенты, где цвет и интенсивность варьируются.

Если вы ищете более «естественное» цветовое пространство, чем RGB, YUV (он же YCbCr) может вам понравиться. Цветовые пространства YUV - это, по сути, линейное (или аффинное, в зависимости от используемой исходной точки) преобразование RGB, в котором первая ось «Y» расположена вдоль диагонали RGB (диапазон (1,1,1), то есть в градациях серого) и " Оси Cb "и" Cr "представляют собой перпендикулярные векторы в синем и красном направлениях. (В этом случае зеленое направление представляет собой отрицательную линейную комбинацию осей Cb и Cr.) В этом случае возможно вращение оттенка путем вращения второго и третьего (Cb, Cr) компонентов цветового вектора вокруг первой (Y) оси и регулировки насыщенности. просто масштабирует второй и третий компоненты.

Относительно этого обратно к мониторам, в то время как дисплеи фактически состоят из пикселей RGB, старые телевизионные сигналы NTSC и PAL были фактически разложены в основанные на YCbCr форматы и преобразованы назад и вперед с RGB с аналоговыми схемами. Это позволило использовать Y-канал без изменений для отображения в градациях серого («черно-белое»).

1 голос
/ 18 ноября 2011

VGA использует исключительно аналоговую RGB-сигнализацию.

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

HDMI и DisplayPort поддерживают сигналы RGB и YCbCr (только цифровые).Я считаю, что большинство компьютерных карт используют RGB.YCbCr гораздо чаще используется такими вещами, как проигрыватели DVD и BD (это экономит им некоторую работу, поскольку данные на диске кодируются в YCbCr).

...