Main Content

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.

Técnicas de mejora del contraste

Este ejemplo muestra varios enfoques de mejora de imagen. Tres funciones son particularmente adecuadas para la mejora del contraste: , , y .imadjusthisteqadapthisteq En este ejemplo se compara su uso para mejorar las imágenes en escala de grises y truecolor.

Mejorar las imágenes en escala de grises

Con la configuración predeterminada, compare la eficacia de las tres técnicas siguientes:

  • imadjust aumenta el contraste de la imagen asignando los valores de la imagen de intensidad de entrada a nuevos valores de modo que, de forma predeterminada, el 1% de los datos se satura a intensidades bajas y altas de los datos de entrada.

  • histeq realiza la ecualización del histograma. Mejora el contraste de las imágenes transformando los valores en una imagen de intensidad para que el histograma de la imagen de salida coincida aproximadamente con un histograma especificado (distribución uniforme de forma predeterminada).

  • adapthisteq realiza la ecualización del histograma adaptativo de contraste limitado. A diferencia de , funciona en regiones de datos pequeñas (teselas) en lugar de en toda la imagen.histeq El contraste de cada mosaico se mejora de modo que el histograma de cada región de salida coincida aproximadamente con el histograma especificado (distribución uniforme de forma predeterminada). La mejora del contraste se puede limitar para evitar amplificar el ruido que podría estar presente en la imagen.

Lea una imagen en escala de grises en el espacio de trabajo. Mejore la imagen utilizando las tres técnicas de ajuste de contraste.

pout = imread('pout.tif'); pout_imadjust = imadjust(pout); pout_histeq = histeq(pout); pout_adapthisteq = adapthisteq(pout);

Muestre la imagen original y las tres imágenes ajustadas de contraste como un montaje.

montage({pout,pout_imadjust,pout_histeq,pout_adapthisteq},'Size',[1 4]) title("Original Image and Enhanced Images using imadjust, histeq, and adapthisteq")

Lea una segunda imagen en escala de grises en el espacio de trabajo y mejore la imagen utilizando las tres técnicas de ajuste de contraste.

tire = imread('tire.tif'); tire_imadjust = imadjust(tire); tire_histeq = histeq(tire); tire_adapthisteq = adapthisteq(tire);

Muestre la imagen original y las tres imágenes ajustadas de contraste como un montaje.

montage({tire,tire_imadjust,tire_histeq,tire_adapthisteq},'Size',[1 4]) title("Original Image and Enhanced Images using imadjust, histeq, and adapthisteq")

Observe que tuvo poco efecto en la imagen del neumático, pero causó un cambio drástico en el caso de pusino.imadjust Trazar los histogramas de y revela que la mayoría de los píxeles de la primera imagen se concentran en el centro del histograma, mientras que en el caso de , los valores ya están repartidos entre el mínimo de 0 y el máximo de 255 evitando así ser efectivos en el ajuste del contraste de la imagen.pout.tiftire.tiftire.tifimadjust

figure subplot(1,2,1) imhist(pout) title('Histogram of pout.tif') subplot(1,2,2) imhist(tire) title('Histogram of tire.tif');

La ecualización del histograma, por otro lado, cambia sustancialmente ambas imágenes. Muchas de las características previamente ocultas están expuestas, especialmente las partículas de escombros en el neumático. Desafortunadamente, al mismo tiempo, la mejora satura varias áreas de ambas imágenes. Observe cómo el centro del neumático, parte de la cara del niño, y la chaqueta se lavó.

Concentrándose en la imagen del neumático, sería preferible que el centro de la rueda se mantuviera aproximadamente en el mismo brillo mientras mejora el contraste en otras áreas de la imagen. Para que eso suceda, tendría que aplicarse una transformación diferente a diferentes partes de la imagen. La técnica de ecualización de histograma adaptable limitada por contraste, implementada en , puede lograr esto.adapthisteq El algoritmo analiza partes de la imagen y calcula las transformaciones adecuadas. También se puede establecer un límite en el nivel de mejora del contraste, evitando así la sobresaturación causada por el método básico de ecualización del histograma de .histeq Esta es la técnica más sofisticada de este ejemplo.

Mejorar imágenes en color

La mejora del contraste de las imágenes de color se realiza normalmente mediante la conversión de la imagen a un espacio de color que tiene luminosidad de la imagen como uno de sus componentes, como el espacio de color L*a*b*. El ajuste de contraste se realiza solo en la capa de luminosidad 'L*' y, a continuación, la imagen se convierte de nuevo en el espacio de color RGB. La manipulación de la luminosidad afecta a la intensidad de los píxeles, conservando al mismo tiempo los colores originales.

Lea una imagen en el espacio de trabajo. La imagen es una imagen indexada, así que convierta la imagen en una imagen de color verdadero (RGB).'shadow.tif' A continuación, convierta la imagen del espacio de color RGB al espacio de color L*a*b*.

[X,map] = imread('shadow.tif'); shadow = ind2rgb(X,map);  shadow_lab = rgb2lab(shadow);

Los valores de luminosidad abarcan un rango de 0 a 100. Escale los valores al rango [0 1], que es el rango esperado de imágenes con tipo de datos .double

max_luminosity = 100; L = shadow_lab(:,:,1)/max_luminosity;

Realice los tres tipos de ajuste de contraste en el canal de luminosidad y mantenga los canales a* y b* sin cambios. Vuelva a convertir las imágenes en el espacio de color RGB.

shadow_imadjust = shadow_lab; shadow_imadjust(:,:,1) = imadjust(L)*max_luminosity; shadow_imadjust = lab2rgb(shadow_imadjust);  shadow_histeq = shadow_lab; shadow_histeq(:,:,1) = histeq(L)*max_luminosity; shadow_histeq = lab2rgb(shadow_histeq);  shadow_adapthisteq = shadow_lab; shadow_adapthisteq(:,:,1) = adapthisteq(L)*max_luminosity; shadow_adapthisteq = lab2rgb(shadow_adapthisteq);

Muestre la imagen original y las tres imágenes ajustadas de contraste como un montaje.

figure montage({shadow,shadow_imadjust,shadow_histeq,shadow_adapthisteq},'Size',[1 4]) title("Original Image and Enhanced Images using imadjust, histeq, and adapthisteq")

Consulte también

| |

Temas relacionados