viernes, 17 de julio de 2026

Mejorando fotografías ultraangulares con una reproyección

En fotografía, los distintos tipos de proyecciones de imagen suelen asociarse al montaje de panorámicas, donde resulta imperativo escoger una proyección adecuada para poder "coser" toda la información procedente de múltiples capturas. Estas frecuentemente abarcarán un amplio ángulo de visión, lo que supone todo un reto de visualización.

Sin embargo no hay ningún motivo por el que no tenga sentido hacer cambios de proyección también cuando tenemos una sola captura, en particular si se realizó con un objetivo ultraangular y por lo tanto abarcando igualmente un gran ángulo de visión.

La razón de que podamos salir ganando con un cambio de proyección la encontramos en las propias limitaciones del sistema de proyección rectilínea (modelo pinhole o de cámara oscura), según la cual funciona la inmensa mayoría de cámaras y objetivos. Esta proyección es la única que tiene la maravillosa cualidad de preservar como recta cualquier línea que aparezca en la escena del mundo real, pero no se lleva nada bien con la pretensión de abarcar ángulos de visión grandes: los objetos de la escena más alejados angularmente del eje óptico, es decir los que caerán más cerca de los bordes del encuadre, van a sufrir una distorsión que los va a "estirar" y deformar.

En 'Proyección rectilínea de escenas 3D sobre el plano con R', probablemente mi artículo más puramente fotográfico, se explica la geometría de la forma en que nuestras cámaras construyen imágenes sobre el plano. Es un tema por el que la mayoría de fotógrafos pasan de puntillas pero que supone la base de este ejercicio.

Ayudándome de Gemini Pro, he construido una pequeña biblioteca en R (con el código principal en C++ logrando una ejecución casi instantánea) para pasar cualquier imagen desde la proyección lineal de cámara a las 7 proyecciones de la siguiente tabla, acompañadas de sus cualidades principales:


A la vista de la tabla puede deducirse que no existe la proyección perfecta. La que brilla en una característica flaquea en otra en términos de si se preservan como rectas las líneas verticales (imprescindible en arquitectura y también en paisaje), las líneas radiales (importante si hay fugas), de si son capaces de restaurar la forma circular de una esfera (importante si hay objetos de tipo esférico, donde calificaría una cabeza humana),... Todas las proyecciones son representaciones diferentes de la misma escena tridimensional, y cada una preserva unas propiedades geométricas a costa de sacrificar otras.

Como culturilla general además, una proyección conforme es una transformación que preserva localmente los ángulos (medidos sobre la esfera 3D). Equivalente a ello, en cada punto conserva la forma de figuras infinitesimales, aunque no necesariamente preserve su escala.

~~~

Vamos a aplicar a una imagen de paisaje la anterior batería de 7 reproyecciones (recordemos que estamos transformando la imagen desde la proyección que ya realiza la cámara a nuevos esquemas geométricos). Añadimos una cuadrícula regular y dos líneas diagonales en la imagen lineal de partida para ayudar a entender, solo con ver la forma en que esta retícula se transforma en destino, el tipo de transformación que estamos realizando. Así visualizaremos dónde comprime más, si se mantienen las verticales y/o las radiales,... (hacer clic para ver en alta resolución):


Fotografiada con un ultraangular rectilíneo sin apenas distorsión Laowa 12mm, en el árbol de la izquierda percibimos claramente el típico estiramiento fruto de la perspectiva. El árbol se plasma mucho más ancho de lo que es en realidad, y sus hojas parecen querer "escapar" del encuadre por la diagonal. La compresión en los laterales de varias de las proyecciones viene a mitigar este efecto mostrando un árbol más acorde a su tamaño y proporciones reales.

Las proyecciones que curvan las líneas rectas verticales, aunque en paisaje se toleren mejor que en arquitectura o interiorismo, no son demasiado adecuadas porque deformarán los elementos verticales que tenga la escena (árboles, fincas,...) por pocos que sean. En paisaje en general la preferida es la proyección cilíndrica, la que implementa la mayoría de móviles en sus modos de captura panorámica.

Ahora aplicamos igualmente las 7 proyecciones a una escena consistente en una serie de esferas colocadas deliberadamente lejos del centro (hacer clic para ver en alta resolución):


Aquí el objetivo es restaurar la forma de las esferas que han quedado convertidas en elipses alargadas por efecto de la perspectiva. Y la proyección estereográfica, proporcionado un dato preciso de la distancia focal usada, es la más adecuada para obtener esos círculos perfectos que buscamos. Un resultado muy similar, aunque matemáticamente no tan exacto, puede obtenerse con la proyección Mercator que cometerá más error cuanto mayores sean las esferas.

Sin salir de la proyección estereográfica, terminamos con un ejercicio geométrico inverso. Generamos una imagen sintética con círculos equiespaciados que vamos a asumir se encuentra definida precisamente en una proyección estereográfica:


Qué debería pasar si ahora convertimos desde esta proyección estereográfica a la proyección lineal de cámara? todos los círculos habrían de reproyectarse como elipses perfectas, con el eje mayor contenido en la dirección radial. Dicho y hecho (hacer clic para ver las elipses con mayor resolución):


Para hacer una doble comprobación, con la función directa que pasa de proyección lineal (pinhole) a estereográfica debemos poder restaurar los círculos iniciales en sus precisas posiciones originales:

~~~

Para terminar vamos a ver tres casos de uso real en los que le encuentro sentido al aprovechamiento de las proyecciones estudiadas, con idea de aplicárselas a una captura ultraangular:

  • Proyección cilíndrica en paisaje para eliminar la distorsión en los extremos laterales de una toma ultraangular, haciendo que los accidentes geográficos se presenten en escala y proporciones más próximos a lo que vio allí el fotógrafo. Aplicada a la siguiente imagen en formato panorámico de Javier Camacho Gimeno, pero obtenida con una sola toma de focal 18mm equivalente en FF, vemos como el monte Cervino en el centro de la imagen gana protagonismo a la vez que eliminamos el efecto de "estiramiento" en los laterales, restaurando formas más realistas para los picos que aparecen próximos a los extremos (hacer clic para ver con mayor resolución):

  • Proyección estereográfica para restaurar la forma circular de elementos esféricos de la escena original, y que por la proyección de cámara se plasmaron como elipses de difícil interpretación. Una proyección Mercator también habría hecho una buena corrección, aunque ambas curvando las líneas rectas de la escena (hacer clic para ver en alta resolución):


  • Proyección Panini para contrarrestar la distorsión debida al gran ángulo de visión en escenas urbanas. El resultado es una imagen más natural, con la apariencia propia de haber usado una distancia focal mayor, pero preservando íntegramente el ángulo de visión horizontal. Esta corrección solo es aplicable cuando la escena tenga un punto de fuga central sobre el que convergen todas las líneas de fuga (hacer clic para ver en alta resolución):

~~~

Repositorio con el código R: GitHub. Este artículo te lo dedico a ti mamá donde estés, será el primero que ya no podré tratar de explicarte.

No hay comentarios:

Publicar un comentario

Por claridad del blog, por favor trata de utilizar una sintaxis lo más correcta posible y no abusar del uso de emoticonos, mayúsculas y similares.