Archivo de la etiqueta: histograma

Ecualización de histograma en tiempo real

Digi3D.NET dispone de una herramienta que nos va a ayudar a visualizar las imágenes con la mejor calidad posible.

Esta herramienta se activa al marcar la casilla Niveles automáticos en el panel Propiedades de visualización que podemos mostrar mediante la opción del menú Ventana fotogramétrica/Propiedades de visualización….

Si marcamos esta casilla el programa realizará un análisis del histograma de la imagen y calculará el mejor histograma posible y mejorará mucho la visualización de las imágenes.
Al marcar esa casilla se deshabilitarán los controles de Brillo, Constraste y Gamma pues se controlarán automáticamente por el programa.

En el siguiente vídeo puedes comprobar la diferencia entre visualizar un modelo satelital de 12 bits sin ecualizar el histograma y ecualizando el histograma.

[youtube:http://youtu.be/gEzhBeRg8U0%5D

Niveles automáticos

La siguiente captura de pantalla muestra una imagen satelital radiométricamente muy pobre, ya que es muy oscura y además tiene poco contraste:

Si analizamos el histograma de la imagen (captura obtenida de Photoshop Elements)…


…podemos comprobar gráficamente las dos afirmaciones anteriores:

  1. La imagen es muy oscura ya que la mayoría de los píxeles están a la izquierda de la gráfica, que es donde están los colores oscuros.
  2. La imagen tiene muy poco contraste, ya que la mayoría de los píxeles están agrupados.

Podríamos pensar que se puede mejorar la imagen cambiando el brillo, contraste y gama), pero no conseguiríamos una imagen óptima, ya que la solución no consiste en mover el histograma o expandirlo por igual, sino en ecualizarlo. Para ello, disponemos de la herramienta Niveles Automáticos del panel Propiedades de la imagen que puedes hacer aparecer en el menú Ventana fotogramétrica/Propiedades de la imagen.

Si activamos esta casilla el programa mejorará los niveles (brillo/contraste) de la imagen automáticamente como puedes ver en la siguiente captura de pantalla:

Parece magia ¿no? Es prácticamente imposible foto-interpretar nada en la imagen que encabeza esta entrada en el blog, sin embargo en esta última captura se puede foto-interpretar cualquier accidente sin ningún problema.

Para conseguir realizar esta operación, Digi3D.NET necesita conocer el histograma de la imagen, y para calcular el histograma de la imagen hay que analizar el 100% de los píxeles de esta (para saber cuántos píxeles tienen intensidad 0, cuántos tienen intensidad 1, cuántos 2,… cuántos 255 para los canales rojo, verde y azul) y como hay que analizar el 100% de los píxeles de la imagen, pues lógicamente hay que cargar la imagen completa, lo que significa que la primera vez que activemos esta casilla el programa tardará un poquito (aparecerá una barra de progreso indicando que se está analizando el histograma).

Cuando se termine de analizar el histograma se generará un archivo en el mismo directorio que la imagen, con el mismo nombre pero con extensión .imageProperties, que es un archivo que almacena esta información, de manera que la siguiente vez que activemos la casilla para esta imagen ya no será necesario cargarla entera y por lo tanto el proceso será inmediato.