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 de contraste

Este ejemplo muestra varios enfoques de mejora de la imagen. Tres funciones son especialmente 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.

Mejora las imágenes en escala de grises

Con la configuración predeterminada, compare la efectividad 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 manera que, de forma predeterminada, el 1% de los datos se saturan a bajas y altas intensidades 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 por defecto).

  • adapthisteq realiza la ecualización de histograma adaptable de contraste limitado. A diferencia de, opera en pequeñas regiones de datos (mosaicos) en lugar de toda la imagen.histeq El contraste de cada mosaico se mejora para que el histograma de cada región de salida coincida aproximadamente con el histograma especificado (distribución uniforme de forma predeterminada). La mejora de contraste puede ser limitada con el fin de 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);

Visualice 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);

Visualice 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")

Tenga en cuenta que tenía poco efecto en la imagen de la llanta, pero causó un cambio drástico en el caso de la pout.imadjust Trazar los histogramas 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 se extienden 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 de 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 saturan varias áreas de ambas imágenes. Observe cómo el centro de la llanta, parte de la cara del niño, y la chaqueta se lavó.

Concentrándose en la imagen de la llanta, sería preferible que el centro de la rueda se aloje sobre el mismo brillo al tiempo que realzando el contraste en otras áreas de la imagen. Para que eso suceda, una transformación diferente tendría que ser aplicada a diferentes porciones de la imagen. La técnica de ecualización de histograma adaptable con contraste limitado, implementada en, puede lograrlo.adapthisteq El algoritmo analiza partes de la imagen y calcula las transformaciones apropiadas. 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.histeq Esta es la técnica más sofisticada en este ejemplo.

Mejorar las imágenes en color

La mejora de contraste de las imágenes en color se realiza normalmente convirtiendo la imagen en un espacio de color que tiene la luminosidad de la imagen como uno de sus componentes, como el espacio de color L * a * b *. El ajuste de contraste se realiza en la capa de luminosidad ' L * ' solamente, y luego la imagen se convierte de nuevo al espacio de color RGB. Manipular la luminosidad afecta a la intensidad de los píxeles, conservando los colores originales.

Leer una imagen en el espacio de trabajo. La imagen es una imagen indexada, así que convierta la imagen a 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 intervalo [0 1], que es el intervalo esperado de imágenes con el 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. Convierta las imágenes de nuevo al 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);

Visualice 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