300 (la película) y la fotografía amateur

La película 300.

Dicha película fue la primera (que yo sepa) en usar técnicas HDR (High Dynamic Range, que significa Alto Rango Dinámico -ahora que sé un poco de inglis-).

300_comparison.jpg

Muy buena traducción, pero ¿qué significa esto?

Cómo funciona la cámara digital.

Básicamente:

  • La luz entra por la lente y llega al sensor.
  • El sensor es un cuadrado que está dividido en cuadraditos. Cada cuadradito representa un punto (lo llamaremos pixel). Si nos dicen que una cámara tiene 5 Megapixeles, significa que tiene 5 millones de esos puntos. Con la tecnología actual, este ha dejado de ser un factor determinante de la calidad de una cámara.
  • Cada cuadradito, dice el color que ha recibido. Un color se puede formar combinando rojo, verde y azul (RGB en inglés). Lo normal es iferenciar 256 niveles diferentes de cada color (es decir, se diferencian hasta 256 rojos diferentes). Por ejemplo, un color se podría representar así:
    • Rojo: 25
    • Verde: 150
    • Azul: 7

Resumiendo: una cámara coje una imagen, la divide en millones de cuadraditos y le asigna un color (dando tres valores entre 0-255).

La pregunta que cabe hacerse es: ¿esto es mucho o poco?

Resolución

He visto cámaras de 60 euros con 7 millones de píxeles. Las "mejores" televisiones que hay en el mercado son FullHD que tienen: 1920*1080 = 2.1 Millones. Una tele normal tiene: 768*576 = 0.4 millones
Salvo que se quiera imprimir la foto en gran formato, la cantidad es suficiente. (Para otros propósitos la resolución puede ser determinante)

Cuántos colores tenemos.

Si el rojo, verde y azúl pueden tener valores entre 0 y 255 (incluídos), eso significa que podemos representar hasta 256*256*256 = 16.7 millones de colores diferentes en cada uno de esos puntitos.

Suficiente ¿no? Pues respuesta es… NO, porque tenemos unos ojos cojonudos. Nuestro ojo no es especialmente bueno reconociendo colores, pero es muy bueno reconociendo diferentes intensidades de luz.

Todo este rollo se traduce en que una cámara normal es suficientemente buena para capturar imágenes "normales", pero no para capturar escenas con valores muy diferentes de luminosidad.

Soluciones.

Tiempo de exposición.

Las cámaras hacen algo parecido a "abrir y cerrar los ojos" muy rápidamente para capturar la imagen. Cuanto más tiempo está abierto, más luz entra por lo que la imagen sale más clara. Por la noche, interesan tiempos largos para poder capturar algo y que la imagen no salga negra o demasiado oscura. Cuando hay mucha luz ocurre lo contrario.
En las cámaras buenas se puede controlar ese tiempo de forma manual. Le puedes decir el tiempo que quieres que entre luz. En las compactas, dicho control es automático (cuando aprietas ligeramente el botón, se hace el autofocus y se mide la cantidad de luz para decidir el tiempo de exposición).

Controlando manualmente el tiempo de exposición, se obtienen los siguientes resultados:

  • Foto sobreexpuesta: aquí estoy apuntando hacia el Sol y dejado mucho tiempo la entrada de luz abierta. Los usuarios de cámaras compactas les dice la experiencia que es mejor hacer fotos estando a la sombra y nunca hacia el Sol. La mayor parte de la foto sale blanca. La zona de piedras sale bastante detallada.
h1.jpg
  • Foto subexpuesta: la misma foto de antes, pero ahora con muy poquita exposición (se abrió y cerro muy rápido). Casi no ha entrado luz. La ventaja es que la foto no se ha "quemado", pero las zonas oscuras salen completamente negras. Esto os habrá pasado alguna vez al retratar a alguien que tenía el sol en su espalda y al ver la foto veis que la cara sale muy oscura (casi negra). (Os sonará esta imagen del ayutamiento).
h5.jpg

Parece que no soy muy bueno controlando la exposición manualmente. Esto nos deja varias alternativa:

  • Dejar la exposición en automático.
  • Hacer fotos con distintas exposiciones y elegir la que más nos guste.
  • Usar técnicas de HDR.

Técnicas HDR.

En qué consiste. Dentro del ordenador podemos usar el número de niveles de colores que queramos (aunque la pantalla no sea capaz de representarlos). La idea es relativamente simple:

  • Realizamos fotos con distintos niveles de exposiciones (5 ó 6 fotos).
h1.jpg h2.jpg h3.jpg h4.jpg h5.jpg
  • Las metemos en el ordenador y movemos la coctelera.
    • Las metemos en el ordenador y las junte en un único fichero que es capaz de manejar muchos más niveles (por ejemplo del orden de millones en lugar de 256) y que transforme los números originales en valores más realistas. Además el software es suficientemente lista para reconocer las partes que realmente contienen información.
    • Una vez hecho esto, volvemos a generar una imagen que es capaz de representar nuestro monitor y que contiene información es todas sus áreas. El resultado es el que sigue.
hdr_1.jpg

(Sale un poco deformada y con "halo" porque hice las fotos sin trípode).

Como veis, la foto ahora incluye detalle en todas las zonas: el mar, el cielo, las zonas de acantilado, las isla que se ve al fondo de la imagen, …

Esta técnica también pueden usarla los aficionados a la astronomía.

Espero que os haya interesado el artículo.

Os dejo con otro ejemplo:

hdr_2.jpg

y el detalle que no se vería si la foto fuera normal por ser un elemento oscuro en una zona de mucha luz (lamentablemente también se aprecia el halo):

detalle.jpg

Obviamente, puede interesar dejar la foto tal y como está: foto del ayuntamiento

Una pequeña mentira - Para los más puristas.

En este artículo no aparece ni una sola imagen HDR. Las imágenes HDR usan formatos especiales (por ejemplo OpenEXR). Esos formatos especiales sí son capaces de almacenar esos niveles de detalle, pero el navegador no es capaz de trabajar con ellos. Por ello, lo que he hecho es "comprimir" todo ese rango dinámico en algo un fichero .jpg que es lo que sí es capaz de representar el navegador.

Salvo que se diga otra cosa, el contenido de esta obra está bajo la licencia: Creative Commons Reconocimiento NoComercial CompartirIgual 2.5 España.