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 object. The axes object 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 object. The axes object 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 имя аргумента и 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'единственныйuint8, или 'uint16'. По умолчанию тип выходных данных совпадает с типом данных A.

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

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

свернуть все

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

Алгоритмы

свернуть все

Линеаризация Используя sRGB Стандарт

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

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

    f (u) = cu,                0 ≤ u <d

    f (u) = (au + b)ɣ,      ud,

где 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 = uɣ,

с

ɣ = 2.19921875    

Ссылки

[1] Ebner, Марк. "Гамма-коррекция". Цветное постоянство. Чичестер, Западный Сассекс: John Wiley & Sons, 2007.

[2] Adobe Systems Incorporated. "Инвертируя передаточную функцию компонента цвета". Кодирование Цветного изображения Adobe RGB (1998). Разделите 4.3.5.2, май 2005, p.12.

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

Введенный в R2017b