Ecualización del histograma

La ecualización del histograma de una imagen es una transformación que pretende obtener para una imagen un histograma con una distribución uniforme. Es decir, que exista el mismo número de pixels para cada nivel de gris del histograma de una imagen monocroma.

La función de la ecualización es:

En teoría, la aplicación de esta operación debería transformar el histograma en otro con una forma perfectamente uniforme sobre todos los niveles de gris. Sin embargo, en la práctica esto no se va a poder conseguir pues se estaría trabajando con funciones de distribución discretas en lugar de continuas. En la transformación, todos los pixels de un mismo nivel de gris se transformarán a otro nivel de gris, y el histograma se distribuirá en todo el rango disponible separando en lo posible las ocupaciones de cada nivel.

El resultado de la ecualización maximiza el contraste de una imagen sin perder información de tipo estructural, esto es, conservando su entropía (información).

Análisis de los canales de color de una imagen haciendo uso de histogramas

Una imagen digital está compuesta por píxeles. Cada píxel es un punto con un valor de intensidad para cada canal y combinando los diferentes canales obtenemos el color deseado. En este caso se analiza el aporte de cada canal a la imagen. Estudiando los canales denominados RGB: rojo, verde y azul.

Cada píxel toma un valor entero entre 0 y 255 (píxeles de 8 bits) para asignarle un color, generando una escala entre estos valores para cada canal. De esta manera, las zonas más oscuras de una imagen estarán representadas por píxeles con valores cercanos a 0, mientras que las zonas más claras con píxeles cercanos a 255.

De este modo, al analizar los canales RGB de una determinada selección de una imagen podemos saber el número de píxeles con cada valor (entre 0 y 255) que hay para cada canal. Al graficar número de pixels en función del valor dentro de la escala obtenemos un histograma (un conteo de pixels para cada valor).

Haciendo uso del programa ImageJ se obtiene el histograma de manera directa. Para ello seleccionamos primero la región de interés, y luego hacemos click en el menú Analyze-->Histogram. Inmediatamente el programa abre una nueva ventana donde aparece un histograma promedio de todos los canales tal y como vemos a continuación.

Imagen a usar.
Menú Analyze->Histogram.

Accedemos al histograma.

Ventana con los datos para los histogramas de cada canal.

Al hacer click en el botón RGB vamos cambiando a los diferentes canales, y sus respectivos histogramas.

Histogramas para el promedio de todos los canales y para cada canal.

En la ventana 'Histogramas' también se muestran los valores para diferentes parámetros, que se muestran a continuación:

  • Mode: es el valor que más veces aparece -se ve como el máximo del histograma-.
  • Mean: es el promedio de todos los valores -generalmente es cercano a la moda-.
  • Count: es el número de píxeles analizados.
  • StdDev: es la desviación estándar, que puede aproximarse como el error en la determinación de la media.
  • Min: valor mínimo del histograma.
  • Max: valor máximo del histograma.

Al hacer click en el botón Copy se copia una tabla de valores que puede copiarse, por ejemplo, a una planilla de cálculo. En dicha tabla aparecerá el valor dentro de la escala del canal elegido, y el número de píxeles con dicho valor. De este modo se pueden copiar todos los datos a una hoja de cálculo para su posterior análisis (incluso se pueden realizar gráficas del histograma por cuenta propia).

Por ejemplo, en la hoja de cálculo con los datos proporcionados de un determinado histograma. La columna 'A' adquiere los diferentes valores del color y la columna 'B' adquiere el número de píxeles para dichos valores.

Hoja de cálculo con los datos obtenidos del histograma.

De manera que se puede realizar un análisis RGB de los canales de una determinada imagen y volcar la información obtenida en una hoja de cálculo, para su posterior análisis.

Other Languages