Ecualización de histograma

La ecualización de histogramas es una técnica de procesamiento de imágenes que transforma una imagen de manera que el histograma de la imagen resultante se distribuye por igual, lo que mejora el contraste de la imagen. Un histograma igualado significa que las probabilidades de todos los niveles de gris son iguales. En otras palabras, la ecualización de histogramas hace que una imagen use todos los colores en la misma proporción.

Método

Valor de píxel nuevo = (L − 1) × Probabilidad acumulativa del valor de píxel original

Tenga en cuenta que la fórmula anterior nos da un nuevo nivel de gris para cada nivel de gris que se va a reemplazar.

Pasos

  1. Recorra la imagen y calcule las probabilidades de los niveles de gris individuales y guárdelo en una matriz [256] en el número de índice respectivo.
  2. Encuentre las probabilidades acumulativas de los niveles de gris y multiplíquelas por (L-1) . Esto debería dar como resultado una matriz[256] que contiene el mapeo de los niveles de gris originales (índices) para ser reemplazados por los nuevos niveles de gris (valores en los índices de la matriz)
  3. Atraviese la imagen nuevamente y reemplace los valores de gris antiguos con los nuevos valores de gris utilizando la matriz que se encuentra en el paso 2.

Derivación

Supongamos que las imágenes son de dominio continuo y que la frecuencia de los niveles de gris es una variable aleatoria.

Ahora nuestro objetivo es encontrar:

  • Una función de mapeo y=f(x) que indica un nuevo valor de gris (y) para algún valor de píxel (x)
  • La función de mapeo debe tener un solo valor y aumentar monótonamente.
  • Una transformación que mapea los niveles de gris en el mismo rango.

Sean p x (x), p y (y) las funciones de densidad de probabilidad para la imagen de entrada y la imagen de salida respectivamente.

Como queremos que la función de transformación mapee los valores grises en el mismo rango:

$$ \text{p} _ \text{y dy}{=\text{p}} _ \text{x dx} $$

La ecuación anterior significa que la función de transformación dará como resultado una imagen en la que los niveles de gris se asignarán a un rango más amplio (dy) y con un p y (y) bajo si el p x (x) es alto para mantener la igualdad. y viceversa.

Ahora p y (y) debe ser 1 para que la probabilidad acumulada de la imagen de salida sea 1.

$$ \int _ {\text{0}}^{\text{1}}{\text{p} _ \text{ydy}}\ =\text{1}=\int _ {\text{0} }^{\text{1}}{(\text{1})\ \text{dy}} $$

Por lo tanto

$$ \text{dy}\ =\ \text{p} _ \text{xdx} $$

$$ \int _ {\text{0}}^{\text{y}}\text{dy}\ =\int _ {\text{0}}^{\text{x}}{\text{p } _ \text{x dx}} $$

$$ \text{y}\ =\ \int _ {\text{0}}^{\text{x}}{\text{p} _ \text{x dx}} $$

Por lo tanto, el nuevo valor de un nivel de gris proviene de la probabilidad acumulada de ese nivel de gris.

Tenga en cuenta que la fórmula anterior es para dominio continuo. Se puede representar en dominio discreto de la siguiente manera

$$ \text{y} _ \text{r}\ =\ \sum _ {\text{0}}^{\text{r}}{\text{p} _ \text{x}(\text{ x} _ \text{r})} $$

Ejemplo

La siguiente imagen tiene un mal contraste. Veamos cómo ayuda la ecualización del histograma de esta imagen.

El histograma original se desplaza hacia los niveles de gris blanco y no usa ningún nivel de gris hasta 75. Esto muestra que la ecualización del histograma de la imagen nos dará una imagen que usará igualmente todos los niveles de gris y tendrá un alto contraste.

Nota: El histograma no es perfectamente plano debido a la aproximación que hicimos para el dominio discreto. La fórmula funciona perfectamente en dominio continuo. Aunque el histograma no es perfectamente plano, la ecualización del histograma aumenta el contraste porque la imagen resultante utiliza todos los niveles de gris disponibles.

Código