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

Linealizar los valores RGB corregidos por gamma

Descripción

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

ejemplo

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

Ejemplos

contraer todo

Abra una imagen. El formato de archivo JPEG guarda las imágenes en el espacio de color sRGB con corrección gamma.

A = imread('foosball.jpg');

Visualice la imagen. Para reducir la imagen de forma que aparezca completamente en la pantalla, establezca la ampliación inicial opcional en un valor inferior a 100.

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

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

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

Visualice la imagen linealizada, estableciendo la ampliación opcional.

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

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

Argumentos de entrada

contraer todo

Valores de color RGB corregidos por gamma, especificados como una matriz numérica en uno de los siguientes formatos.

  • -por-3 mapa de colores.c Cada fila especifica un valor de color RGB.

  • -por-3 imagenmn

  • -por-3-por-pila de imágenesmnp

Tipos de datos: single | double | uint8 | uint16

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: linealiza la imagen con corrección gamma, según el estándar Adobe RGB (1998).B = lin2rgb(I,'ColorSpace','adobe-rgb-1998')I

Espacio de color de la imagen de entrada, especificado como el par separado por comas que consta de y o.'ColorSpace''srgb''adobe-rgb-1998'

Tipos de datos: char | string

Tipo de datos de los valores RGB de salida, especificados como el par separado por comas que consta de y,,, o.'OutputType''double''single''uint8''uint16' De forma predeterminada, el tipo de datos de salida es el mismo que el tipo de datos de.Un

Tipos de datos: char | string

Argumentos de salida

contraer todo

Valores de color RGB linealizados, devueltos como una matriz numérica del mismo tamaño que la entrada.Un

Algoritmos

contraer todo

Linearización utilizando el estándar sRGB

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

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

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

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

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

    = 1/1.055a

    = 0.055/1.055b

    = 1/12.92c

    = 0,04045d

    = 2,4ɣ

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

Los valores de triestímulo de Adobe RGB (1998) se linearizan utilizando una función de potencia 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