exponenta event banner

rgb2lab

Перевести RGB в CIE 1976 L * a * b *

Описание

пример

lab = rgb2lab(RGB) преобразует значения sRGB в значения CIE 1976 L * a * b *.

пример

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

Примеры

свернуть все

Использовать rgb2lab для преобразования белого значения RGB в L * a * b.

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

  100.0000         0    0.0000

Преобразование значения цвета Adobe RGB (1998) в L * a * b * с помощьюColorSpace параметр.

rgb2lab([.2 .3 .4],'ColorSpace','adobe-rgb-1998')
ans = 1×3

   30.1783   -5.6902  -20.8223

Использовать rgb2lab преобразование RGB-цвета в L * a * b с использованием D50 ссылки белого цвета.

rgb2lab([.2 .3 .4],'WhitePoint','d50')
ans = 1×3

   31.3294   -4.0732  -18.1750

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

rgb = imread('peppers.png');

Преобразуйте изображение RGB в цветовое пространство L * a * b *.

lab = rgb2lab(rgb);

Отображение компонента L * изображения L * a * b *.

imshow(lab(:,:,1),[0 100])

Figure contains an axes. The axes 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.

Пример: rgb2lab([0.25 0.40 0.10],'WhitePoint','d50')

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

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

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

СтоимостьБелая точка
'a'

Стандартный светильник 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 КИПиИ, [0.9642, 1.0000, 0.8251]. Имитирует теплый дневной свет на восходе или закате с коррелированной цветовой температурой 5003 К. Также известен как горизонтальный свет.

'd55'

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

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

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

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

свернуть все

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

ПризнакОписание
L *Яркость или яркость изображения. Значения находятся в диапазоне [0, 100], где 0 - черный, а 100 - белый. С увеличением L * цвета становятся ярче.
*Количество красных или зеленых тонов на изображении. Большое положительное значение a * соответствует красному/пурпурному. Большое отрицательное значение a * соответствует зеленому. Хотя нет одного диапазона для *, значения обычно попадают в диапазон [-100, 100] или [-128, 127).
b *Количество желтых или синих тонов на изображении. Большое положительное значение b * соответствует желтому. Большое отрицательное значение b * соответствует синему. Несмотря на отсутствие одного диапазона для b *, значения обычно попадают в диапазон [-100, 100] или [-128, 127).

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

Совет

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

    Например, для преобразования линеаризованного изображения Adobe RGB (1998) RGBlinadobe в цветовое пространство CIE 1976 L * a * b * выполните преобразование в два этапа:

    RGBadobe = lin2rgb(RGBlinadobe,'ColorSpace','adobe-rgb-1998');
    LAB = rgb2lab(RGBadobe,'ColorSpace','adobe-rgb-1998');
    

Расширенные возможности

..
Представлен в R2014b