Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

rgb2lin

Linearización de valores RGB corregidos por gamma

Sintaxis

B = rgb2lin(A)
B = rgb2lin(A,Name,Value)

Descripción

B = rgb2lin(A) deshace la corrección gamma de los valores sRGB en la imagen A para que B contenga valores RGB lineales.

ejemplo

B = rgb2lin(A,Name,Value) deshace la corrección gamma mediante pares nombre-valor para controlar opciones adicionales.

Ejemplos

contraer todo

Abra una imagen. El formato de archivo JPEG guarda imágenes en el espacio de color sRGB corregido por gamma.

A = imread('foosball.jpg');

Mostrar la imagen. Para reducir la imagen de modo que aparezca completamente en la pantalla, configure el aumento inicial opcional en un valor menor que 100.

figure imshow(A,'InitialMagnification',25) title('Scene With sRGB Gamma Correction')

Para deshacer la corrección de gamma y alinear la imagen, utilice la función rgb2lin . Opcionalmente, especifique el tipo de datos de los valores alineados.

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

Visualice la imagen lineal, ajustando el aumento opcional.

figure imshow(B,'InitialMagnification',25) title('Scene Without sRGB Gamma Correction')

Las sombras en la imagen lineal son más oscuras que en la imagen original, como se esperaba.

Argumentos de entrada

contraer todo

Imagen RGB corregida por gamma, especificada como una matriz real, no Sparse, m-por-n-por-3.

Tipos de datos: single | double | uint8 | uint16

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos Name,Value . Name es el nombre del argumento y Value es el valor correspondiente. Name debe aparecer dentro de comillas simples (' '). Puede especificar varios argumentos de par de nombre y valor en cualquier orden como Name1,Value1,...,NameN,ValueN.

Ejemplo: B = lin2rgb(I,'ColorSpace','adobe-rgb-1998') linearizes la imagen corregida por gamma, I, según el estándar de Adobe RGB (1998).

Espacio de color de la imagen de entrada, especificada como el par separado por comas consistente en 'ColorSpace' y 'srgb' o 'adobe-rgb-1998'.

Tipos de datos: char | string

Tipo de datos de los valores RGB de salida, especificados como pares separados por comas que consisten en 'OutputType' y 'double', 'single', 'uint8'o 'uint16'. De forma predeterminada, el tipo de datos de salida es el mismo que el tipo de datos de A.

Tipos de datos: char | string

Argumentos de salida

contraer todo

Imagen RGB lineal, devuelta como una matriz real, no Sparse m-por-n-por-3.

Algoritmos

contraer todo

Linealización mediante el estándar sRGB

los valores de triestímulo sRGB se alinean utilizando la siguiente curva paramétrica:

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

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

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

donde u representa un valor de color con estos parámetros:

    a = 1/1.055

    b = 0.055/1.055

    c = 1/12.92

    d = 0,04045

    ɣ = 2,4

Linealización mediante el estándar Adobe RGB (1998)

Los valores de triestímulo de Adobe RGB (1998) se alinean mediante una función de alimentación simple:

    v = uɣ,

Con

    ɣ = 2,19921875

Referencias

[1] Ebner, Marc. "Gamma Correction." Color Constancy. Chichester, West Sussex: John Wiley & Sons, 2007.

[2] Adobe Systems Incorporated. "Inverting the color component transfer function." Adobe RGB (1998) Color Image Encoding. Section 4.3.5.2, May 2005, p.12.

Consulte también

Introducido en R2017b