exponenta event banner

rgb2lin

Линеаризация значений RGB с поправкой на гамма

Описание

B = rgb2lin(A) отменяет гамма-коррекцию значений sRGB в изображении A чтобы B содержит линейные значения RGB.

пример

B = rgb2lin(A,Name,Value) отменяет гамма-коррекцию, используя пары имя-значение для управления дополнительными опциями.

Примеры

свернуть все

Откройте изображение. Формат файла JPEG сохраняет изображения в цветовом пространстве sRGB с поправкой на гамма.

A = imread('foosball.jpg');

Отображение изображения.

imshow(A)
title('Scene With sRGB Gamma Correction')

Figure contains an axes. The axes with title Scene With sRGB Gamma Correction contains an object of type image.

Отмена гамма-коррекции и линеаризация изображения с помощью rgb2lin функция. При необходимости укажите тип данных линеаризованных значений.

B = rgb2lin(A,'OutputType','double');

Отображение линеаризованного изображения. Тени в линеаризованном изображении темнее, чем в исходном изображении, как и ожидалось.

imshow(B)
title('Scene Without sRGB Gamma Correction')

Figure contains an axes. The axes with title Scene Without sRGB Gamma Correction 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.

Пример: B = lin2rgb(I,'ColorSpace','adobe-rgb-1998') линеаризует гамма-скорректированное изображение, I, согласно стандарту Adobe RGB (1998).

Цветовое пространство входного изображения, указанное как разделенная запятыми пара, состоящая из 'ColorSpace' и 'srgb' или 'adobe-rgb-1998'.

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

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

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

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

свернуть все

Линейные цветовые значения RGB, возвращаемые в виде числового массива того же размера, что и входной A.

Алгоритмы

свернуть все

Линеаризация с использованием стандарта sRGB

Значения тристимулов sRGB линеаризуются с использованием следующей параметрической кривой:

    f (u) = -f (-u ) ,  u  <  0        

    f (u) = c ⋅ u ,  0  ≤  u  <  d     

    f (u) = (a ⋅ u + b) ɣ ,  u  ≥ d,

где u представляет значение цвета со следующими параметрами:

    a = 1/1,055

    b = 0,055/1,055

    c = 1/12.92

    d = 0,04045

    ɣ = 2.4

Линеаризация с использованием стандарта Adobe RGB (1998)

Значения тристимулов Adobe RGB (1998) линеаризуются с помощью простой функции мощности:

    v = ,

с

    ɣ = 2.19921875

Ссылки

[1] Эбнер, Марк. «Гамма-коррекция». Постоянство цвета. Чичестер, Западный Суссекс: John Wiley & Sons, 2007.

[2] Adobe Systems Incorporated. «Инвертирование функции переноса цветовых компонентов». Кодировка цветных изображений Adobe RGB (1998). Раздел 4.3.5.2, май 2005 года, стр. 12.

См. также

Представлен в R2017b