Página 1 de 1

CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mar Feb 24, 2026 3:25 pm
por Guillermo Luijk
Aprovechando unas ecuaciones de un investigador de Microsoft que quería poder corregir fotos hechas sobre una pizarra tomadas en escorzo, para restaurarlas en sus proporciones reales, vi que el algoritmo de rebote tiene una cualidad bastante sorprendente e interesante en fotografía: además de suministrar las proporciones reales del objeto (que es lo que yo en principio buscaba para aplicarlas a temas de correcciones de perspectiva), proporciona la distancia focal con que se obtuvo la imagen. No estamos hablando en realidad de un concepto fotográfico sino geométrico (al fin y al cabo la distancia focal no es otra cosa que un parámetro de una proyección de imagen).

Con ese sencillo algoritmo he escrito una función que, a partir de cualquier imagen de una escena donde aparezca algún objeto rectangular, pero que presente en sus dos ejes fugas derivadas de la perspectiva, es posible obtener tanto las proporciones reales del objeto en el mundo real como la distancia focal con que se hizo la foto.


PRUEBAS CON IMÁGENES SINTÉTICAS

Unos ejemplos sintéticos (he usado Rhinoceros) con los que probar la precisión del algoritmo: "fotografías" de un ortoedro a 50mm y 24mm, usando los rectángulos que forman sus caras para estimar tanto la focal como sus relaciones de aspecto:

Image

Image


Los cálculos salen muy precisos, el error aquí es debido a que las posiciones de las esquinas de los trapezoides usados (proyecciones de rectángulos del objeto real) se han medido redondeando manualmente a píxeles enteros. Si se hubieran usado las coordenadas exactas de la proyección el error debería ser 0.

Image


APLICACIÓN A FOTOGRAFÍA REAL

Aplicamos el método a una escena interesante porque está llena de rectángulos fugando (los cuadros), pudiendo calcular la focal con que se generó la imagen a partir de cualquiera de ellos. Todos los cuadros arrojan distancias focales muy próximas, solo alejándose claramente el cuadro más pequeño. Esto tiene lógica pues cuanto más pequeño es el rectángulo usado para hacer el cálculo se tiene más error. El objetivo que se usó en la toma fue un zoom 14-28mm en su extremo de 14mm, pero a la vista de los cálculos se debe perder algo de ángulo de visión tras hacer las correcciones de distorsión (algo bastante habitual), ya que todas las estimaciones salen por encima de los 14mm.

Image


En breve escribiré un artículo sobre esto porque tiene bastante miga que rascar.

Salu2!

PD: gracias Chemax, no me acordaba del maravilloso comando rimg! he editado tu post para que quede más limpio

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mar Feb 24, 2026 5:07 pm
por Chemax
Muy interesante este tema del cálculo de focales, hay que ver qué mentalidad tan analítica tienes que no te conformas con aceptar las cosas tal como las vemos, sino que prefieres investigar y saber cómo funciona todo. Creo que es una gran virtud. ;)

Saludos!

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mar Feb 24, 2026 5:26 pm
por Zakalin
Guillermo Luijk escribió: partir de cualquier imagen de una escena donde aparezca algún objeto rectangular, pero que presente fugas en sus dos ejes derivadas de la perspectiva


Entiendo bien poco los entresijos de estos cálculos pero tengo una curiosidad, ¿ qué pasa cuando el objeto no presenta fugas? ¿Qué error se produce en el calculo? ¿ Tiene algún significado o sentido el resultado?

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mar Feb 24, 2026 6:59 pm
por Guillermo Luijk
Zakalin escribió:Entiendo bien poco los entresijos de estos cálculos pero tengo una curiosidad, ¿ qué pasa cuando el objeto no presenta fugas? ¿Qué error se produce en el calculo? ¿ Tiene algún significado o sentido el resultado?

Es una muy buena pregunta. Cuando no hay fugas el cálculo proporciona correctamente la relación de aspecto (es la que ya tienes en la foto), pero la focal no se puede calcular porque en los cálculos hay un denominador que se va a 0 (o a casi 0) y por tanto la división a infinito (o a casi infinito, dando una focal muy alta, cuando puede haberse usado un angular). Es toda una paradoja, pero la realidad es que a efectos de este asunto de obtener la distancia focal, una imagen con escorzo nos da más información de cómo se hizo la foto que una perfectamente perpendicular.

Salu2!

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mar Feb 24, 2026 7:46 pm
por Guillermo Luijk
Una fantasía con fotos clásicas:

Image
(creo que HCB usó un 50mm pero esto es lo que sale del cálculo, no puedo decir otra cosa)

Image


Tengo que decir que el método pierde mucha precisión cuando las fugas no son exageradas, así que estos ejemplos son candidatos a tener un error grande.

Salu2!

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mar Feb 24, 2026 9:52 pm
por Guillermo Luijk
Tres ejemplos más, se cumple que a más focal baja la precisión (las fugas se hacen más parecidas entre focales y por tanto el método es más sensible a cualquier desviación):

Ricoh GR IV con 28mm eq.:
Image

Canon R5 II con un 85mm:
Image

Somy A7R V con un 100mm:
Image

Sony A7R V con un 200mm:
Image

Salu2!

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mié Feb 25, 2026 12:14 am
por Guillermo Luijk
Un excelente candidato para hacer estos cálculos es un render, en este caso un videojuego 3D. En ellos suelen confluir todas las facilidades para que este método clave la focal:
  • Amplia FOV (focal angular)
  • Cero distorsión geométrica
  • Estructuras rectilíneas canónicas (los edificios del mundo real no son perfectos, los render sí)
  • Fugas radicales en todas direcciones porque puedes mirar hacia arriba y hacia abajo

He tomado una pantalla del último videojuego al que jugué en mi vida, y a la vez el único al que he dedicado muchas horas: el Quake III Arena!
He calculado la distancia focal dos veces, con dos puertas que aparecen en lugares opuestos de la sala, de modo que un valor valide o invalide el otro. El resultado sale clavado, una focal de 19mm:

Image

Salu2!

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mié Feb 25, 2026 1:03 pm
por JMLA
Interesante y sorprendente, pero he de decir que me siento espeso y no sé si te he seguido bien: supongo que cualquier modificación en photoshop sobre las fugas invalida toda posibilidad de acierto o hay posibilidad de "reconstrucción" (basándonos en otra fugas o en algún dato conocido quizá)? ¿Si se ha usado un objetivo descentrable?

¿Y qué pasa si las fotos llevan un simple recorte? ¿Juega el tamaño total de la imagen algún papel? Voy a por una aspirina :)

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mié Feb 25, 2026 7:41 pm
por IOM60
Muy interesante , aunque yo también me lo tendré que volver a leer con calma. :)
Imagino que si es un simple recorte, pero sin deformar ni interpolar ni nada debe dar lo mismo, no?

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mié Feb 25, 2026 7:56 pm
por IOM60
Ya que estamos , para el tema fotográfico, en el caso de que no haya nada rectangular ¿hay alguna manera fácil de calcular las dimensiones de algo si sabemos la focal con que se hizo?

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mié Feb 25, 2026 8:00 pm
por Guillermo Luijk
JMLA escribió:Interesante y sorprendente, pero he de decir que me siento espeso y no sé si te he seguido bien: supongo que cualquier modificación en photoshop sobre las fugas invalida toda posibilidad de acierto o hay posibilidad de "reconstrucción" (basándonos en otra fugas o en algún dato conocido quizá)? ¿Si se ha usado un objetivo descentrable?

¿Y qué pasa si las fotos llevan un simple recorte? ¿Juega el tamaño total de la imagen algún papel? Voy a por una aspirina :)

Una de las premisas del algoritmo es que el centro de la imagen debe corresponder con el eje de la óptica. Esto invalida el uso de imágenes de un descentrable (salvo que le añadas el cacho que falta para volver a tener el centro óptico en el centro de la imagen). Respecto a recortes, si el recorte se hace de forma simétrica respecto al centro el método será valido, aunque producirá la focal equivalente al recorte. Si el recorte es asimétrico, estamos en el caso del descentrable, o vuelves a centrar el eje óptico o los resultados serán disparatados. Una corrección de perspectiva ocurre lo mismo, aunque aquí no tengo claro si añadiendo imagen sería recuperable la condición de centro óptico.

Por lo dicho antes el tamaño de la imagen es clave, la relación entre la perspectiva del rectángulo y el tamaño de la imagen determinará la focal calculada. Si calculas la focal y te da 30mm, y ahora añades bordes hasta duplicar la diagonal, el cálculo arrojará 15mm.

Yo también estoy procesando aún los detalles de este cálculo. Las matemáticas no son mías, sino de un ingeniero de Microsoft que hace más de 20 años publicó un paper para una aplicación consistente en poder recuperar las proporciones reales de fotos hechas a pizarras en escorzo. Por el camino el cálculo produce un dato que a él no le importaba demasiado, pero es mucho más interesante para un fotógrafo: la distancia focal.

El paper lo tengo subido al repo donde he subido la función que he hecho:

https://github.com/gluijk/focal-distanc ... cument.pdf

Lo que interesa para el método es el apartado 4:

4 Estimating Pose and Aspect Ratio of a Rectangular Shape from One Image, and the Camera’s Focal Length

Salu2!

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mié Feb 25, 2026 8:08 pm
por Guillermo Luijk
IOM60 escribió:Ya que estamos , para el tema fotográfico, en el caso de que no haya nada rectangular ¿hay alguna manera fácil de calcular las dimensiones de algo si sabemos la focal con que se hizo?

Las dimensiones absolutas es imposible, hay una indeterminación del tamaño. Piensa en dos balones, uno mayor a otro colocado a más distancia de modo que se solapen en su proyección. La cámara los ve iguales pero uno es más grande en el mundo real.

Salu2!

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mié Feb 25, 2026 8:21 pm
por IOM60
Guillermo Luijk escribió:
IOM60 escribió:Ya que estamos , para el tema fotográfico, en el caso de que no haya nada rectangular ¿hay alguna manera fácil de calcular las dimensiones de algo si sabemos la focal con que se hizo?

Las dimensiones absolutas es imposible, hay una indeterminación del tamaño. Piensa en dos balones, uno mayor a otro colocado a más distancia de modo que se solapen en su proyección. La cámara los ve iguales pero uno es más grande en el mundo real.

Salu2!

¿y si supiéramos la distancia a la que estaba el punto de enfoque ,por ejemplo por los Exif ? conste que no es por rizar el rizo , es para saberlo

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Mié Feb 25, 2026 8:57 pm
por JMLA
Ok, gracias Guillermo, entonces lo entendí correctamente al leerlo, pues la perspectiva es la que es independientemente de la distancia focal, solo que tendremos mayor o menor superficie "pintada", viejo tema.

Me adelanto a responder a Inma, si no me equivoco, el punto de enfoque depende de los "cristales" y afecta solo de forma leve a la distancia focal, que por definición es respecto del infinito. Es más fácil de imaginarlo si utilizamos como modelo una cámara estenopeica.

Re: CALCULANDO LA FOCAL A PARTIR DE UNA FOTOGRAFÍA

NotaPublicado: Jue Feb 26, 2026 12:37 am
por Guillermo Luijk
Una del señor Escher. Era esperable que saliera una focal consistente en cualquier rectángulo que se eligiese porque esta imagen es una perspectiva con 3 puntos de fuga, que si se hace bien solo puede ser una perspectiva correcta: 30-31mm de focal en formato casi cuadrado

Image

Salu2!