xyz2rgb

Преобразуйте CIE 1931 XYZ в RGB

Синтаксис

rgb = xyz2rgb(xyz)
rgb = xyz2rgb(xyz,Name,Value)

Описание

пример

rgb = xyz2rgb(xyz) преобразовывает значения CIE 1931 XYZ (наблюдатель на 2 °) к sRGB значениям.

пример

rgb = xyz2rgb(xyz,Name,Value) задает дополнительные опции преобразования, такие как цветовое пространство изображения RGB, с помощью одного или нескольких аргументов пары "имя-значение".

Примеры

свернуть все

Преобразуйте значение цвета в цветовом пространстве XYZ к sRGB цветовому пространству.

xyz2rgb([0.25 0.40 0.10])
ans = 1×3

    0.4174    0.7434    0.2152

Преобразуйте значение цвета в цветовом пространстве XYZ к цветовому пространству Adobe RGB (1998).

xyz2rgb([0.25 0.40 0.10],'ColorSpace','adobe-rgb-1998')
ans = 1×3

    0.5323    0.7377    0.2730

Преобразуйте значение цвета XYZ в sRGB определение белой точки D50.

xyz2rgb([0.25 0.40 0.10],'WhitePoint','d50')
ans = 1×3

    0.3276    0.7517    0.2869

Преобразуйте значение цвета XYZ в 8-битное закодированное значение цвета RGB.

xyz2rgb([0.25 0.40 0.10],'OutputType','uint8')
ans = 1x3 uint8 row vector

   106   190    55

Входные параметры

свернуть все

Значения цвета XYZ, чтобы преобразовать, заданный как числовой массив в одном из следующих форматов.

  • c-by-3 палитра. Каждая строка задает одно значение цвета XYZ.

  • m-by-n-by-3 изображение

  • m-by-n-by-3-by-p стек изображений

Типы данных: single | double

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: xyz2rgb([0.25 0.40 0.10],'ColorSpace','adobe-rgb-1998')

Цветовое пространство значений вывода RGB, заданных как пара, разделенная запятой, состоящая из 'ColorSpace' и 'srgb', 'adobe-rgb-1998' или 'linear-rgb'. Если вы задаете 'linear-rgb', то xyz2rgb возвращает линеаризовавшие sRGB значения.

Типы данных: char

Ссылочная белая точка, заданная как пара, разделенная запятой, состоящая из 'WhitePoint' и 1 3 вектор или один из источников света стандарта CIE, перечислена в следующей таблице.

ЗначениеБелая точка
'a'

Источник света стандарта CIE A, [1.0985, 1.0000, 0.3558]. Моделирует типичный, внутренний, подсветка нити вольфрама с коррелированой цветовой температурой 2856 K. 

'c'Источник света стандарта CIE C, [0.9807, 1.0000, 1.1822]. Моделирует средний или северный дневной свет неба с коррелированой цветовой температурой 6774 K. Удержанный от использования CIE.
'e'Теплоотвод равной энергии, [1.000, 1.000, 1.000]. Полезный как теоретическая ссылка.
'd50'Источник света стандарта CIE D50, [0.9642, 1.0000, 0.8251]. Моделирует теплый дневной свет в восходе солнца или закате с коррелированой цветовой температурой 5003 K. Также известный как horizon light.

'd55'

Источник света стандарта CIE D55, [0.9568, 1.0000, 0.9214]. Моделирует рано утром или дневной свет во второй половине дня с коррелированой цветовой температурой 5500 K.  

'd65'Источник света стандарта CIE D65, [0.9504, 1.0000, 1.0888]. Моделирует дневной дневной свет с коррелированой цветовой температурой 6504 K. 
'icc'Источник света Пробела связи профиля (PCS) используется в профилях ICC. Приближение [0.9642, 1.000, 0.8249] с помощью фиксированной точки, подписанных, 32-битных чисел с 16 дробными битами. Фактическое значение: [31595,32768, 27030]/32768.

Типы данных: single | double | char

Тип данных возвращенных значений RGB, заданных как одно из следующих значений: 'double', 'single', 'uint8' или 'uint16'. Если вы не задаете OutputType, выходной тип является тем же типом как вход.

Типы данных: char

Выходные аргументы

свернуть все

Конвертированные значения цвета RGB, возвращенные как числовой массив, одного размера как вход. Выходной тип совпадает с входным типом, если вы не задаете параметр OutputType.

Советы

  • Если вы задаете цветовое пространство вывода RGB как 'linear-rgb', то выходные значения линеаризуются sRGB значения. Если вместо этого вы хотите, чтобы пробелом цвета вывода был линеаризовавший Adobe RGB (1998), то можно использовать функцию rgb2lin.

    Например, чтобы преобразовать CIE 1931 XYZ отображают XYZ к линеаризовавшему цветовому пространству Adobe RGB (1998), выполняют преобразование на двух шагах:

    RGBadobe = xyz2rgb(XYZ,'ColorSpace','adobe-rgb-1998');
    RGBlinadobe = rgb2lin(RGBadobe,'ColorSpace','adobe-rgb-1998');

Смотрите также

| | |

Введенный в R2014b