Panoramas

Bueno, todo esto empezó igual que con lo del HDR, en verdad llevaba mucho tiempo detrás de esto, y a raíz de un par de cosas finalmente me he lanzao seriamente y aquí os traigo algunos experimentos.

Bien, a lo que voy, a hablar de PANORAMAS, imágenes de hasta 360º, que reflejan todo el entorno, y que con el programa adecuado (en este caso el Quicktime, todos lo conocemos) podemos navegar por ellos, haciendo autenticas visitas virtuales.

¿Que necesitamos para hacerlos? Pues imprescindible: Una cámara, un ordenador, una serie de programas (hay para elegir, pero ahora os sugiero unos cuantos), y algo de paciencia :)
Ademas, ALTAMENTE RECOMENDABLE: Un tripode, aunque depende de las circunstancias y nuestro pulso y/o maña podemos prescindir de él. Y algo mas lejos pero no poco importante, una lente de gran angular para la cámara.

El concepto es sencillo: barrer fotográficamente el entorno y a continuación fusionar las imágenes conseguidas en una sola imagen representativa. Puede ser una panorama real de 360 grados (es decir, una esfera), solo el horizonte (un cilindro), o una vista en el sentido mas comúnmente entendido, lo que tal vez se resuelve con un par de fotos o tres.

¿Y para que sirve? Pues la primera, porque puede ser bonito. Sencillamente, es un paisaje que necesitáis varias fotos para captar, que de otro modo no conseguiríais. Es decir, el sencillo valor estético, y en muchos casos, suficiente razón :).
En segundo lugar, podéis crear las mencionadas visitas virtuales. Esto por ejemplo a las inmobiliarias les viene de puta madre, te venden un piso que ni siquiera esta construido… lo visitas desde dentro, ves como quedaría y ni siquiera existe aún… un chollo. O un museo, ver como es la Capilla Sixtina… es interesante si es que realmente no puedes llegar allí. O finalmente, enseñarle a tu colega como es algún sitio en el que has estado, que es tres cuartos de lo que voy a hacer yo con vosotros ;)
Finalmente, está la vagamente sugerida aplicación en el campo de 3d y realidades virtuales… -es realmente el que a mi me interesa, pero como REALMENTE se que a vosotros no (o al menos no en la misma medida), pues eso lo guardo para otra vez, y ahora me limito a explicar el tema este de los panoramas :)

*El Método.
No hay excesivo misterio. La cámara se coloca sobre el trípode, con la exposición en un valor fijo si es que tenéis control sobre ello, y ya está, a echar fotos!. Hey, no con tanta alegría, con un cierto orden y concierto, barriendo el horizonte, abriendo el zoom lo máximo posible, y barriendo también latitudes altas (el cielo) y las bajas (el suelo). Solo hay un premisa, y bastante importante: Las fotos se tienen que solapar, si queremos que el programa reconozca como encajar las imágenes, en sentido tanto vertical como horizontal. Lo ideal es que cada foto se solape un tercio aproximadamente, así nos aseguramos que todo el entorno queda reflejado, no aseguramos que el programa detectará puntos comunes y nos evitamos conflictos (que los habrá) si fotos no sucesivas se solapan.

Podéis hacer un sencillo barrido del horizonte, (lo suyo es eso para empezar, algo sencillo), y más adelante os podéis atrever con los 360º grados. En el último caso habrá que hacer varios barridos, cubriendo latitud y longitud.

Por ejemplo, para este panorama, use finalmente una lente de gran angular que compré hace un par de años para una cámara de vídeo Sony. El acople es de rosca y únicamente para esa cámara de vídeo, así que cuando quería hacer las fotos con la cámara de fotos, tenía que sostener manualmente la lente delante del objetivo. Vaya, chapuza y de las buenas, y por esa razón, no me pude quitar de en medio para completar el panorama, pues me veia obligado a permanecer en mi lugar si no quería mover la cámara… así que al unir las distintas fotos salgo sin brazos y sin una pierna… :S

El caso es que lo suyo es usar lentes de gran angular. Porque se ahorra tiempo y porque la calidad que ofrece una buena lente hace que no nos tengamos que preocupar por aberraciones cromaticas en los extremos de la imagen. Como ya he dicho, mientras mas partes de la imagen estén solapadas más fácil le será al programa encajar las imágenes. Con un ojo de pez de 120º (el mio es de unos 70º) nos bastaría con unas 8 fotografías del panorama o incluso menos para acabar el trabajo. Tened en cuenta que a mi me hacen falta una media de 30-40 fotografías para acabar un panorama con la lente de gran angular, y unas 70 sin ninguna lente. Eso si, una buena lente es cara. La lente mía es mas bien baratuna (y eso son 60€), y en los extremos la distorsión de la imagen es considerable. En fin, en caso contrario, supongo que realmente os gusta la fotografía, tenéis dinerillo, una cámara buena y el interés :)

*El proceso
Una vez hechas las fotos y volcadas al ordenador, el proceso para hacer el panorama es sencillo. Aquí empiezo con los programas. El mas extendido es uno llamado PanoTools, pero es una serie de utilidades sin una apariencia gráfica especialmente amigable. Para todo esto yo he usado PTGui, un programa que nos permite hacer todo el proceso de forma visual. Arrastrando las imágenes, y por un sencillo asistente, vamos a poder encajar fácilmente los panoramas. El programa detectará en que orden, de que modo y que distorsión debe aplicar a cada imagen para hacerla encajar en el puzle, ajustando luminosidad, difuminando los bordes y demás historias. Es la caña. Aqui te explican un sencillo tutorial, en ingles, pero con las imágenes se entiende bien.

*El Coñazo
Coñazo, depende. Si son pocas fotos no habrá que tocar casi nada, el programa las va a reconocer solo. Pero para un panorama de 360º puede no funcionar tan bien, pues el programa no es perfecto, y sobre todo, no es capaz de solventar a la perfección nuestros fallos (sobre todo si somos novatos y/o tenemos mal pulso). Es importante que haya texturas y detalles claros a los que el programa pueda ‘asirse’ para buscar referencias. Por otro lado, el cenit y el nadir siempre son difíciles. El cenit, la parte superior de la imagen no es compleja de hacer, aunque en un cielo liso y sin nubes es tarea fútil, ya que el programa no encontrará referencias, e igual pasa si es un día tormentoso y estas se mueven rápido: entre una serie y otra el ‘paisaje’ celeste puede haber cambiado suficiente para que el programa sea incapaz de reconocerlo. En estos casos normalmente al programa le va a costar mas reconocerla y seguramente tengamos que encajarla manualmente. El nadir, es decir, el suelo, es bastante mas complejo. Pues sencillamente no queremos hacerle la foto al trípode ni a nuestros pies, y tenemos que sujetar la cámara a mano, en el lugar aproximado donde se encontraba con el trípode… por buenos que seamos seguramente la movamos de sitio, y el encaje no sea perfecto. Ahí casi seguro hará falta Photoshop…

Conviene detenerse en un par de aplicaciones para el PTGui, uno es Autopano, que servirá para detectar con mucha más precisión en que partes exactas coinciden las fotos (por si el propio PTGui no es capaz de hacerlo, es un todoterreno), y luego dos plugins, EnBlend y SmartBlend, que sirven para arreglar las diferencias de color entre las distintas fotos. Todos funcionan de forma transparente con el PTGui y aumentan su versatilidad.


*Realidad Virtual

Supuestamente, ya hemos creado un panorama, una única imagen que abarca los 360º grados horizontales y los 180º verticales. Para hacer finalmente el archivo QTVR y poder visualizarlo en Quicktime, solo nos hace falta un programa: Pano2QTVR. Podemos entrar en el programa y modificar parámetros (también de forma amigable), pero en principio trae una utilidad que funcionará arrastrando y soltando, así de fácil, creará un archivo por el que por fin podremos navegar, como por ejemplo este. Mola :)

:: El sitio por excelencia, visita obligada ::
:: Guia sobre programas y utilidades ::
:: Otra guia de programas ::
:: Tutoriales e información ::
:: PTGui, el programa clave ::
:: Un plugin util para arreglar las uniones entre fotografias ::
:: Detecta uniones entre imagenes de forma precisa ::
:: Convierte las imagenes a panoramas para QuickTime ::
:: El propio QuickTime, para ver los panoramas ::

High Dinamic Range Imaging (HDRI)

No he posteado estos días (aparte de porque subo mucho a clase y tengo una vida muy interesante y ajetreada… ejemejm…), este finde mencioné el tema de ‘cuatro programas que me encantan’ e investigando sobre ellos cogí el hilo de otra historia que sigo persiguiendo desde hace algún tiempo: uno, la generación de imágenes de ‘amplio rango dinámico’ (o HDRI, que es lo que voy a explicar ahora) y la otra, los panoramas de 360 grados (que es de lo que hablo aqui). Las dos cosas se acaban interrelaccionado, pero esto ya tiene mas que ver con el tema del 3d y renderizado hiperrealista de imágenes en las que no voy a entrar, o al menos no lo haré de momento.

El caso es que he estado estos cuatro días investigando, experimentando… a esto comúnmente también se le llama perdiendo el tiempo, pero he aquí algunos resultados que me parecen interesantes y os los quiero mostrar.

¿Algo raro en esta imagen?

El HDR… (buff, es un siempre el mismo conflicto interno ¿me pongo en plan didactico-pedante y os suelto un rollo técnico que después de leerlo os quedáis igual que estabais, o me reprimo y resumo con cuatro tontadas inconexas que no lo voy a entender ni yo? Va, a lo que salga…)
Pues eso, el HDRI, o ‘High Dinamic Range Imaging’ no es más que un procedimiento para recoger en una sola imagen todo el rango de luminosidades posibles, y no solo las que es capaz de detectar el ojo humano, sencillamente todas las variables existentes en un entorno, para poder manejar y representar y modelo fiel y realista de la propia realidad…

Actualmente a nivel domestico y de usuario lo común es tratar con imágenes con una profundidad de color de 8 bits para cada pixel y canal (los canales rojo, verde y azul, que juntos recomponen la imagen a pleno color), asi es con los jpg que comúnmente nos encontramos y demás formatos. Esto es suficiente para representar las imágenes en un monitor de ordenador o en una imagen impresa, y satisfacer por esta vía al ojo humano, pues siempre hay un tope y este es el blanco absoluto que es capaz de representar el monitor (#FFFFFF, para entendernos los webmasters, más que eso no hay nada).
Pero 8 bits, (y esto son 256 valores distintos), no son ni de lejos suficientes para representar toda la gama de luces y colores que es capaz de detectar el ojo humano en pleno uso de su capacidad, pues este es capaz de detectar negros mucho mas negros que el color mas oscuro representable en una pantalla así como luces muchísimo mas intensas. 256 valores significan que el blanco más blanco, en ese caso, sería solo 256 veces más luminoso que el negro más negro.

A priori es suficiente, pues en un mismo instante el ojo humano no detecta contrastes mayores de 100 a 1. Pero dado que se puede adaptar de forma extraordinaria a distintas condiciones de luminosidad, (y esto lo hace por distintos mecanismos, cerrando el iris o mediante procesos químicos, siendo el primero prácticamente instantáneo, mientras el segundo un proceso bastante más lento, de ahí que tardamos minutos en adaptarnos a la oscuridad total), ¡nuestro ojo puede detectar un rango total de luminosidades de un contraste mayor de 1.000.000 a 1! Ademas, si representamos la capacidad de respuesta del ojo humano en un gráfico, esta no sigue una linea recta, sino que sigue una curva logarítmica, lo que complica aún más el intento por reconstruir esto de una forma fiel.

La forma factible de representar esto es aumentando la profundidad de bits por canal hasta los 32 bits, lo que nos otorga mas de 4mil millones de valores posibles para cada pixel que expresando los valores en formato de coma flotante, nos da virtualmente infinitos valores representables. Esta ‘profundidad de color’ nos va a permitir finalmente, representar y guardar con absoluta fidelidad todos los matices de la imagen, desde la sombra mas oscura hasta la luz mas brillante con un detalle asombroso: mas real que la propia realidad.

¿Y como conseguir estas imágenes? El Photoshop, desde la última versión, la CS2, permite crear imágenes de este tipo y trabajar con ellas, pero por algún elemento gracioso del destino, la copia que yo uso no le da la gana, cuando lo intento hacer me da un error cachondo de estos que suenan y dan una x blanca sobre fondo rojo… Vaya, que el tema, que sinceramente me interesa (¿se nota?), lo he dejado en dique seco hasta esta misma semana. Y cuando lo he tocado me he flipado por sus posibilidades.

Primero, el programa que he usado. Se llama Photomatix, que podeis encontrar aqui, y que dispone una versión libre que nos va a permitir trastear con todo este asunto (quien de todos modos quiera la versión completa, ya sabe…). El uso es lo mas sencillo del mundo, pues en un par de pasos estará lista la imagen.

El segundo paso, para mi de lo mas interesante, el proceso de captura.
Sencillamente, montar la cámara en un trípode (pues todas las imágenes deben de encajar perfectamente), y he aqui el quid de la cuestión, disparar una secuencia modificando la exposición en cada una de las tomas de forma que recojamos en su totalidad el mencionado rango dinámico. No tengo ningún pedazo de cámara, pues la mia es tirando a automatica ;), pero por mala que sea la practica totalidad de cámaras del mercado tiene alguna forma de controlar la exposición, esto es abriendo el diafragma, velocidad de obturación y demás historias (joder, si tienes una cámara en condiciones sabes de que hablo, no se para que voy a enrollarme más :). así pues, se toma una secuencia de fotos, que puede variar desde solo 3 hasta 7 u 8, donde la primera estará subexpuesta completamente, hasta la última, que estará tan quemada como sea posible. aquí, en sentido de las agujas del reloj (o sentido dextrógiro, que es la palabra guay)

Ninguna cámara es capaz de recoger todo el rango dinámico en un solo disparo (el ojo es una máquina suficientemente perfecta para aún no haber sido alcanzada), así pues siempre se hace necesario este proceso. El proceso en Photomatix es sencillo, poco mas que cargar las imágenes, pulsar sobre ‘generar HDRI’… y listo!. Tenemos una imagen en 32 bits, que pesa como el culo de un elefante… y no sirve para nada. Tal y como está, tenemos una cosa, que repito, no sirve para gran cosa. La verdadera aplicación del HDRI esta en la reproducción de entornos realistas, tema que ya dije al principio, va unido al de los panoramas de 360 grados y que desarrollaré más adelante.

Así, a las fotografias sencillas y planas solo les podemos sacar una cosa: podemos modificar su curva cromática y representarla como una imagen sencilla de 8 bits. Y aquí viene lo sencillamente bonito: podemos conseguir imágenes espectaculares que seria imposible de conseguir por otro modo.

La idea consiste en intentar representar todo el rango dinámico del entorno original en una sencilla imagen de 8 bits, mediante una colección de complejos algoritmos que tratan la imagen, con cada uno dando a elegir una interesante variedad de resultados.

**Arriba, dos ejemplos de tomas reales con distinta exposición. Es lo que estamos habitados a ver en fotografías, y precisamente como el entorno es dificil (un contraluz bastante agudizado) es difícil hacer una buena foto.

**Abajo, una vez realizado el proceso de fusión (aqui me hicieron falta 6 exposiciones), se procede a ‘remapear’ los tonos de la imagen. El resultado: se aprecia con el mismo detalle las zonas de sombras que las de luz.

El de la izquierda tal vez sea mas llamativo, ya que recoge ademas los detalles individuales de una forma mas clara. El derecho sin embargo -al menos para mi gusto- es más realista; no goza de la misma espectacularidad pero se aproxima mucho más que el otro a lo que realmente veriamos (vaya, es lo que veo yo todos los putos dias, con decir que la foto esta hecho desde el mismo punto exacto desde donde escribo esto ahora mismo… :). Todo es una cuestión de gustos, en cualquier caso**

La mayoria de las veces, la verdad sea dicha, las imagenes resultantes pecan de artificiosidad e irrealidad. Es el dificil juego, entre intentar acercarse a la propia realidad, mejorarla o sencillamente pasarse. Por ejemplo, la mayoria de estas imagenes, (desde luego preciosas) parecen sacadas de un sueño más que otra cosa. Así, las posibilidades abiertas, y refiriendome ahora solo desde un punto de vista creativo, son inmensas.

Como puntilla, esta imagen de mi cuarto (de Jaén), personalmente y con diferencia mi preferida. Las fotos las hice este verano, esperando ensamblarlas algun dia.

Fijaos como aqui aparecen igualmente expuestas las nubes y el cielo que los objetos en primer plano, la papelera tras la puerta del balcon, el poster a la izquierda arriba, la pantalla del ordenador y el reflejo en ella, el banco y la fuente en la plaza… El color, ademas, representado de puta madre (aunque aqui poco más que fiaros de mi palabra, soy yo el que sabe como es :)
Las fotos las hice justo despues de un chaparrón, con ese cielo precioso y el paisaje recien regado por la lluvia, mientras en mi cuarto hace aire guapo y la temperatura justa, de esa de andar descalzo todo el dia… jejej, el verano ya se acerca de nuevo… :D

:: Clave en la Wikipedia ::
:: HDRI a punta pala en Flickr ::
:: HDRI exagerados ::
:: Un curioso ejemplo aplicado a un retrato::
:: Photomatix Pro, el programa::
:: Apunte en Microsiervos ::
:: Paul Debevec, practicamente el padre del HDR ::