rgb2xyz

Преобразование RGB в CIE 1931 XYZ

Описание

XYZ = rgb2xyz(RGB) преобразует красное, зеленое и синее значения изображения sRGB в значения CIE 1931 XYZ (наблюдатель 2 °).

пример

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

Примеры

свернуть все

Преобразуйте изображения и значения цветов из RGB в цветовое пространство CIE 1931 XYZ.

Преобразование изображения RGB в XYZ

Чтение изображения RGB в рабочую область.

RGB = imread('peppers.png');

Преобразуйте изображение в цветовое пространство XYZ.

XYZ = rgb2xyz(RGB);

Отобразите оригинальное изображение вместе с новым изображением.

figure
imshowpair(RGB,XYZ,'montage');
title('Image in RGB Color Space (Left) and XYZ Color Space (Right)');

Figure contains an axes. The axes with title Image in RGB Color Space (Left) and XYZ Color Space (Right) contains an object of type image.

Преобразуйте значение цвета RGB в XYZ

Преобразуйте значение белого цвета из RGB в цветовое пространство XYZ. В RGB белый цвет представлен вектором [1 1 1].

rgb2xyz([1 1 1])
ans = 1×3

    0.9505    1.0000    1.0888

Преобразуйте цвет RGB в XYZ, используя D50 в качестве эталонного белого

XYZ_D50 = rgb2xyz(RGB,'WhitePoint','d50');

Отобразите первое выходное изображение XYZ вместе с изображением XYZ с D50 в качестве эталонного белого.

figure
imshowpair(XYZ,XYZ_D50,'montage');
title('XYZ Image, Without (Left) and With (Right) Reference White');

Figure contains an axes. The axes with title XYZ Image, Without (Left) and With (Right) Reference White contains an object of type image.

Преобразуйте цвет Adobe RGB (1998) в XYZ

XYZ_Adobe = rgb2xyz(RGB,'ColorSpace','adobe-rgb-1998');

Отображение изображений XYZ, сгенерированных из цветовых пространств RGB по умолчанию и Adobe RGB (1998).

figure
imshowpair(XYZ,XYZ_Adobe,'montage');
title(['XYZ Image, Starting From Default RGB (Left) and Adobe RGB ',...
  '(Right) Color Space']);

Figure contains an axes. The axes with title XYZ Image, Starting From Default RGB (Left) and Adobe RGB (Right) Color Space contains an object of type image.

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

свернуть все

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

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

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

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

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: rgb2xyz([.2 .3 .4],'WhitePoint','d50')

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

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

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

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

Стандартная подсветка CIE A, [1.0985, 1.0000, 0.3558]. Моделирует типовую бытовую вольфрамово-филаментную подсветку с коррелированной цветовой температурой 2856 К. 

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

'd55'

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

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

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

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

свернуть все

Преобразованные значения цвета XYZ, возвращенные в виде числового массива того же размера, что и вход. Тип выхода класса double если только вход сигнала не single, в этом случае выход также single.

Совет

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

    Для примера, для преобразования линеаризированного изображения Adobe RGB (1998) RGBlinadobe в цветовое пространство CIE 1931 XYZ, выполните преобразование в два этапа:

    RGBadobe = lin2rgb(RGBlinadobe,'ColorSpace','adobe-rgb-1998');
    XYZ = rgb2xyz(RGBadobe,'ColorSpace','adobe-rgb-1998');
    
Введенный в R2014b