El histograma y la foto bien expuesta

Si una imagen es una tabla de números del 0 al 255, el histograma es la forma más simple de resumir esa tabla: cuenta cuántos píxeles hay de cada valor.

Cómo se construye

Literalmente contando. Cuántos píxeles valen 0, y lo pones en una gráfica. Cuántos valen 1. Cuántos valen 2, 3, 4, y así hasta 255.

El resultado es una curva. A la izquierda están los oscuros, a la derecha los claros.

Qué es una foto bien expuesta

Una foto bien expuesta es aquella que ocupa el mayor rango posible sin aplastarse en ninguno de los dos extremos.

Los oscuros no llegan todos hasta el cero, porque cuando eso pasa se saturan y no puedes ver nada de detalle: no sabes qué hay en esas sombras.

Y los claros no se pasan de 255, porque ahí también se pierde.

Lo que se pierde no vuelve

Ésta es la parte que conviene entender bien, porque es la única que no tiene arreglo después.

Si la escena tenía zonas que en realidad valían 300 o 400 —más luz de la que el sensor puede registrar— todos esos valores se guardan como 255. No como 300 y 400 distinguibles entre sí: como el mismo número.

La imagen sale blanca ahí, y no hay forma de recuperar la diferencia, porque nunca se guardó.

Eso es exactamente lo que pasa cuando tomas una foto del cielo y sólo ves un fondo blanco, sin nubes. Las nubes estaban ahí. Su información no.

Y al revés, en una escena muy oscura: ves lo que está iluminado y lo demás es negro, puras sombras donde no encuentras nada.

Entre mejor sea el rango de claros, oscuros y medios tonos, más detalle tienes y más información queda disponible para procesar después.

Estirar el histograma: el algoritmo

Supongamos que tu foto no tiene ningún píxel por debajo de 10 y ninguno por arriba de 200. Está usando sólo una parte del espectro disponible, y por eso se ve plana.

Paso 1 — desplazar. Encuentras el valor menor y se lo restas a todos los valores. Ahora el más oscuro está en 0.

Paso 2 — escalar. Encuentras el valor superior y multiplicas todo de manera que ese superior quede en 255. Los demás caen proporcionalmente en medio.

Listo: la imagen está normalizada. El primer valor en 0, el último en 255, y todo lo de en medio proporcional a la original.

De ahí puedes aplastar o estirar el histograma con una multiplicación o una división, para controlar qué tan oscuros son los oscuros respecto a los claros y tener cambios más o menos drásticos entre un píxel y otro.

Es una forma muy simple de hacerlo. Hay técnicas más avanzadas. Pero ésta funciona y se entiende de principio a fin, que para mí vale más.

Lo que esto no puede hacer

Estirar el histograma redistribuye la información que tienes. No crea información nueva.

Si los claros ya estaban saturados en 255, estirar no te va a devolver las nubes. Si las sombras ya estaban en 0, no va a aparecer nada.

Por eso el mejor "filtro" que existe sigue siendo exponer bien.


Este texto sale del episodio 007 del Podcast Algoritmos, sobre imágenes digitales.

No se pudo guardar tu suscripción. Por favor, inténtalo de nuevo.
Tu suscripción ha sido exitosa.

Boletín

Recibe nuevos artículos por correo.