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.

Ecualización del histograma

El proceso de ajuste de los valores de intensidad se puede hacer automáticamente utilizando.histogram equalization La ecualización de histograma implica la transformación de los valores de intensidad para que el histograma de la imagen de salida coincida aproximadamente con un histograma especificado. De forma predeterminada, la función de ecualización del histograma, intenta hacer coincidir un histograma plano con 64 bins, pero puede especificar un histograma diferente en su lugar.histeq

Observe cómo esta curva refleja los histogramas en la figura anterior, con los valores de entrada principalmente entre 0,3 y 0,6, mientras que los valores de salida se distribuyen uniformemente entre 0 y 1.

Ajuste los valores de intensidad mediante ecualización de histograma

Este ejemplo muestra cómo utilizar la ecualización de histograma para ajustar el contraste de una imagen en escala de grises. La imagen original tiene un bajo contraste, con la mayoría de los valores de píxel en el medio del rango de intensidad. produce una imagen de salida con valores de píxel distribuidos uniformemente en todo el intervalo.histeq

Leer una imagen en el espacio de trabajo.

I = imread('pout.tif');

Visualice la imagen y su histograma.

figure subplot(1,2,1) imshow(I) subplot(1,2,2) imhist(I,64)

Ajuste el contraste utilizando la ecualización de histograma. En este ejemplo, la función de ecualización del histograma, intenta hacer coincidir un histograma plano con 64 bins, que es el comportamiento predeterminado.histeq En su lugar, puede especificar un histograma diferente.

J = histeq(I);

Visualice la imagen ajustada al contraste y su nuevo histograma.

figure subplot(1,2,1) imshow(J) subplot(1,2,2) imhist(J,64)

Trazar curva de transformación para ecualización de histograma

Este ejemplo muestra cómo trazar la curva de transformación para ecualizar el histograma. puede devolver un vector de 1 por 256 que muestra, para cada valor de entrada posible, el valor de salida resultante.histeq (Los valores de este vector están en el intervalo [0, 1], independientemente de la clase de la imagen de entrada.) Puede trazar estos datos para obtener la curva de transformación.

Leer la imagen en el espacio de trabajo.

I = imread('pout.tif');

Ajuste el contraste utilizando la ecualización del histograma, utilizando la función.histeq Especifique el valor devuelto de transformación de escala de grises, que es un vector que asigna los niveles de grises de la imagen de intensidad a los niveles de gris.TIJ

[J,T] = histeq(I);

Graficar la curva de transformación. Observe cómo esta curva refleja los histogramas en la figura anterior, con los valores de entrada principalmente entre 0,3 y 0,6, mientras que los valores de salida se distribuyen uniformemente entre 0 y 1.

figure plot((0:255)/255,T);