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')

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

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

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

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

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

свернуть все

Откорректированные гаммой значения цвета 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'единственный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