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.

adapthisteq

Igualación de histograma adaptable de contraste limitado (CLAHE)

Descripción

ejemplo

J = adapthisteq(I) mejora el contraste de la imagen en escala de grises transformando los valores mediante la ecualización de histograma adaptable de contraste limitado (CLAHE).I[1]

J = adapthisteq(I,Name,Value) especifica pares de nombre-valor adicionales. Los nombres de los parámetros pueden abreviarse y el caso no importa.

Ejemplos

contraer todo

Aplique CLAHE a una imagen y visualice los resultados.

I = imread('tire.tif'); J = adapthisteq(I,'clipLimit',0.02,'Distribution','rayleigh'); imshowpair(I,J,'montage'); title('Original Image (left) and Contrast Enhanced Image (right)')

Lea la imagen de color indexada en el espacio de trabajo.

[X, MAP] = imread('shadow.tif');

Convierta la imagen indexada en una imagen de color verdadero (RGB) y, a continuación, convierta la imagen RGB en el espacio de color L * a * b *.

RGB = ind2rgb(X,MAP); LAB = rgb2lab(RGB);

Escale los valores al rango esperado por la función, [0 1].adapthisteq

L = LAB(:,:,1)/100;

Ejecute CLAHE en el canal L. Escale el resultado para volver al rango utilizado por el espacio de color L * a * b *.

L = adapthisteq(L,'NumTiles',[8 8],'ClipLimit',0.005); LAB(:,:,1) = L*100;

Convierta la imagen resultante de nuevo en el espacio de color RGB.

J = lab2rgb(LAB);

Visualice la imagen original y la imagen procesada.

figure imshowpair(RGB,J,'montage') title('Original (left) and Contrast Enhanced (right) Image')

Las sombras en la imagen mejorada lucen más oscuras y las iluminaciones se ven más brillantes. Se mejora el contraste general.

Argumentos de entrada

contraer todo

Imagen de intensidad de entrada, especificada como una matriz numérica 2-D.

Tipos de datos: single | double | int16 | 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: divide la imagen en 8 filas y 16 columnas de mosaicos.'NumTiles',[8 16]

Número de regiones contextuales rectangulares (teselas) en las que divide la imagen, especificada como un vector de 2 elementos de enteros positivos.adapthisteq Con la imagen original dividida en filas y columnas de mosaicos, el valor de is.MN'NumTiles'[M N] Ambos y deben ser al menos.MN2 El número total de mosaicos es igual a.M*N El número óptimo de teselas depende del tipo de la imagen de entrada y se determina mejor a través de la experimentación.

Tipos de datos: double

Límite de mejora de contraste, especificado como un escalar real en el intervalo [0,1]. Los límites más altos resultan en más contraste.

es un factor de contraste que previene la sobresaturación de la imagen específicamente en áreas homogéneas.'ClipLimit' Estas áreas se caracterizan por un pico alto en el histograma del mosaico de la imagen en particular debido a muchos píxeles que caen dentro del mismo rango de nivel de grises. Sin el límite de clips, la técnica de ecualización de histograma adaptable podría producir resultados que, en algunos casos, son peores que la imagen original.

Tipos de datos: double

Número de bins de histograma utilizados para crear una transformación que mejora el contraste, especificada como un escalar entero positivo. Los valores más altos resultan en un mayor rango dinámico a costa de una velocidad de procesamiento más lenta.

Tipos de datos: double

Rango de los datos de la imagen de salida, especificado como uno de los siguientes valores:

ValorDescripción
'full'Utilice la gama completa de la clase de salida (por ejemplo, [0 255] para).uint8
'original'Limite el rango a.[min(I(:)) max(I(:))]

Tipos de datos: char | string

Forma de histograma deseada, especificada como uno de los siguientes valores:

ValorDescripción
'uniform'Cree un histograma plano.
'rayleigh'Cree un histograma en forma de campana.
'exponential'Cree un histograma curvado.

Especifica la distribución que utiliza como base para crear la función de transformación de contraste.'Distribution'adapthisteq La distribución que seleccione debe depender del tipo de la imagen de entrada. Por ejemplo, las imágenes submarinas parecen ser más naturales cuando se utiliza la distribución de Rayleigh.

Tipos de datos: char | string

Parámetro de distribución, especificado como un escalar real no negativo. sólo se utiliza cuando se establece en o.'Alpha''Distribution''rayleigh''exponential'

Tipos de datos: double

Argumentos de salida

contraer todo

Imagen de intensidad de salida, devuelta como una matriz 2-D de la misma clase que la imagen de entrada.I

Algoritmos

CLAHE opera en pequeñas regiones de la imagen, llamada, en lugar de toda la imagen. calcula la función de transformación de contraste para cada mosaico individualmente.tilesadapthisteq Se mejora el contraste de cada mosaico, de modo que el histograma de la región de salida coincida aproximadamente con el histograma especificado por el valor.'Distribution' Las baldosas vecinas se combinan utilizando la interpolación bilineal para eliminar los límites inducidos artificialmente. El contraste, especialmente en áreas homogéneas, puede limitarse para evitar amplificar cualquier ruido que pueda estar presente en la imagen.

Referencias

[1] Zuiderveld, Karel. “Contrast Limited Adaptive Histograph Equalization.” Graphic Gems IV. San Diego: Academic Press Professional, 1994. 474–485.

Consulte también

Introducido antes de R2006a