Corrección gamma
Cuando asigne valores de intensidad de un intervalo a otro, puede realizar opcionalmente una asignación no lineal utilizando la corrección gamma. El factor de corrección gamma puede ser cualquier valor entre 0 e infinito.
Cuando gamma es menor que 1, la asignación se pondera hacia valores de salida más altos (claros).
Cuando gamma es mayor que 1, la asignación se pondera hacia valores de salida más bajos (oscuros).
Cuando gamma es exactamente 1, la asignación es lineal.
La figura ilustra esta relación. Las tres curvas de transformación muestran cómo se aplican los valores cuando gamma es menor que, igual a y mayor que 1. En cada gráfica, el eje x representa los valores de intensidad en la imagen de entrada y el eje y representa los valores de intensidad en la imagen de salida.
Gráficas que muestran tres ajustes de corrección gamma diferentes
Especificar un valor de gamma cuando se ajusta el contraste
Este ejemplo muestra cómo especificar un valor de gamma cuando se ajusta el contraste con la función imadjust
. De forma predeterminada, imadjust
utiliza un valor gamma de 1
, lo que significa que utiliza una asignación lineal entre los valores de intensidad de la imagen original y la imagen de salida. Un valor gamma menor que 1 pondera la asignación hacia valores de salida más altos (claros). Un valor gamma mayor que 1 pondera los valores de salida hacia valores de salida más bajos (oscuros).
Lea una imagen en el espacio de trabajo. Este ejemplo lee una imagen indexada y, después, la convierte en una imagen en escala de grises.
[X,map] = imread("forest.tif");
I = ind2gray(X,map);
Ajuste el contraste, especificando un valor de gamma menor que 1 (0.5
). Observe que, en la llamada a imadjust
, el ejemplo especifica los intervalos de datos de las imágenes de entrada y de salida como matrices vacías. Cuando especifica una matriz vacía, imadjust
utiliza el intervalo predeterminado de [0, 1]. En el ejemplo, ambos intervalos se dejan vacíos. Esto significa que la corrección gamma se aplica sin ningún otro ajuste de los datos.
J = imadjust(I,[],[],0.5);
Muestre la imagen original junto con la imagen en la que se ha ajustado el contraste.
imshowpair(I,J,"montage")