¿Cómo calculo la distancia de un objeto en una foto?


36

Si tomara una foto de un molino de viento en el horizonte, dado que conozco el tamaño del sensor y la distancia focal de la lente y otros factores relacionados con la toma, ¿podría calcular qué tan lejos está un objeto del fotógrafo?


Sí, probablemente puedas con un poco de matemática compleja, pero está más allá de mí. Si está en el horizonte, puede evitar todo eso y simplemente multiplicar la altura de sus ojos (en pies, incluida la altura de cualquier terreno o edificio en el que se encuentre) por 1.5 y luego encontrar la raíz cuadrada de eso, lo que le da el ( distancia aproximada) al horizonte en millas
ElendilTheTall

2
Mi Canon 100mm f / 2.8 IS USM (y presumiblemente algunas otras lentes) registran la distancia del sujeto dentro de los datos EXIF, ¡podría valer la pena investigar si su equipo hace esto antes de ingresar en matemáticas complicadas!
ChrisFletcher

2
@Chris La distancia de enfoque probablemente dirá "infinito", ¡lo cual no es tan útil!
Matt Grum

1
@Chris, la cámara "conoce" la distancia desde el sistema AF y, como sugiere, se vuelve muy imprecisa en grandes distancias (¡pero aún lo suficientemente precisa como para que la imagen esté enfocada!). Además, solo porque el EXIF ​​especifica la distancia hasta un centímetro, ¡no significa que la cifra sea precisa hasta un centímetro!
Matt Grum,

1
Matt: Hasta donde yo sé, la información se envía desde la lente (que conoce la distancia de enfoque, aproximadamente) para E-TTL2. Sin embargo, solo funciona con lentes Canon con USM. Chris: El número en centímetros no te dice nada acerca de su precisión.
Joey

Respuestas:


35

El único otro factor que necesita es la altura del objeto en la vida real (de lo contrario, podría estar fotografiando un modelo que está mucho más cerca de la cámara).

Las matemáticas no son realmente tan complejas, la relación del tamaño del objeto en el sensor y el tamaño del objeto en la vida real es la misma que la relación entre la distancia focal y la distancia al objeto.

Para calcular el tamaño del objeto en el sensor, calcule su altura en píxeles, divida por la altura de la imagen en píxeles y multiplique por la altura física del sensor.

Entonces la suma total es:

Distancia a la ecuación del objeto

Revisemos la cordura esta ecuación.

Si mantenemos todo lo demás constante y aumentamos la distancia focal, entonces la distancia aumenta (ya que la distancia focal está en el numerador). Esto es lo que esperaría, si tiene que hacer zoom en su lente para hacer que un objeto tenga el tamaño de otro objeto de igual tamaño, el primer objeto debe estar más lejos.

Si mantenemos todo lo demás constante y aumentamos la altura real del objeto, entonces nuevamente la distancia aumenta como si dos objetos de diferentes alturas reales tuvieran la misma altura en la imagen, el más alto debe estar más lejos.

Si mantenemos todo lo demás constante y aumentamos la altura de la imagen, entonces la distancia aumenta, como si dos objetos (del mismo tamaño, recuerden que mantenemos todo lo demás constante) aparecen el mismo tamaño de píxel en una imagen recortada y no recortada, entonces el objeto en la imagen sin recortar debe estar más lejos.

Si mantenemos todo lo demás constante y aumentamos la altura del objeto en píxeles, entonces la distancia disminuye (ahora estamos en el denominador): dos objetos de igual tamaño, uno ocupa más píxeles, debe estar más cerca.

Finalmente, si mantenemos todo lo demás constante y aumentamos el tamaño del sensor, la distancia disminuye: dos objetos del mismo tamaño tienen la misma altura en píxeles cuando se dispara con un compacto (sensor pequeño, donde 20 mm es una lente larga) y se dispara con una DSLR (sensor grande donde 20 mm es una lente ancha), entonces el objeto en la imagen DSLR debe estar más lejos (porque parecía del mismo tamaño pero con una lente ancha).


1
En otras palabras, "no, no sin conocer el tamaño del objeto en la vida real". De lo contrario, tienes dos factores desconocidos. El molino de viento podría ser un modelo más cercano de lo que piensas.
mattdm

1
@mattdm exactamente, estaba a punto de dejar eso claro en la respuesta. También podría estar fotografiando una fotografía de un molino de viento, etc.
Matt Grum

@ matt-grum Mi punto es que necesitamos uno de los siguientes: 1) el tamaño real del objeto; 2) o dos o más imágenes.
Sastanin

@jetxee, sí, lo entiendo ahora, por tu comentario no estaba claro, ya que había declarado que el tamaño del objeto era uno de los conocimientos en mi respuesta
Matt Grum,

¿Puedes probar esta ley, desde un parralax de triángulos, imagen (píxeles) / sensor_height no cabe en la ecuación, y a qué te refieres con la altura del sensor ?!
Error

16

Como se señaló en @ matt-grum, la fórmula más simple para estimar la distancia al objeto es la fórmula de proyección de agujero de alfiler :

x / f = X / d

donde x es el tamaño del objeto en el sensor, f es la distancia focal de la lente, X es el tamaño del objeto yd es la distancia desde el punto nodal al objeto. x y f , y X y d se miden en las mismas unidades, por ejemplo, mm y m respectivamente (para calcular x necesitará estimar el tamaño de píxel de su sensor; por ejemplo, para Pentax K20D es 23.4 mm / 4672 px ≈ 5.008e-3 mm / px, es decir, una imagen de 100 px de longitud corresponde a x = 50.08e-3 mm).

A continuación, supongo que el tamaño del objeto ( X ) es desconocido, y los únicos parámetros conocidos son x (tamaño de imagen) yf (longitud focal).

El problema es que no podemos distinguir de una foto si es un objeto pequeño muy cerca de la cámara o un objeto grande muy lejos, porque la profundidad de campo en las tomas de paisajes suele ser muy grande (y es por eso que es aplicable la fórmula de estenopeica).

Para resolver este problema, podemos usar dos o más imágenes para medir la distancia. Siempre que pueda medir todos los ángulos y la distancia entre dos posiciones de la cámara, también puede calcular la distancia al objeto remoto. Pero medir todos los ángulos no es una tarea fácil.

Un enfoque más fácil es tomar dos fotos que permanecen en la misma línea con el objeto, con el objeto en el centro de la imagen. Deje que la distancia al objeto en la primera foto sea d₁ , y el tamaño de la imagen sea x₁ :

x_1 / f = X / d_1

Entonces, si mueve la cámara s metros directamente hacia el objeto, a continuación, en la segunda foto tenemos tamaño de la imagen X₂ ligeramente más grande que x₁ :

( nota : el denominador en la siguiente expresión es incorrecto, en lugar de "d1" debería ser "d2" o equivalente "d1-s")

x_2 / f = X / (d_1 - s)

Lo que nos da

d_1 = s x_2 / (x_2 - x_1)

Evidentemente, si s no es lo suficientemente grande como para afectar el tamaño de la imagen de manera significativa, no puede estimar la distancia de manera confiable y necesita utilizar métodos más complicados. Cuanto mayor es la diferencia x₂ - x₁ , mejor.


ahh, entiendo lo que querías decir con tu comentario ahora, suponía que se conocía el tamaño del objeto, de lo contrario, se vuelve mucho más complicado, ya que no solo necesitas al menos dos cámaras, sino que las cámaras deben calibrarse
Matt Grum,

@sastanin Estoy probando tu fórmula pero no pude hacer que funcione. Hice una página aquí photo.stackexchange.com/questions/80195/…
omega

2

Sé que es un hilo viejo, pero esta pregunta parece surgir de vez en cuando. FWIW, agregué una calculadora para calcular la distancia de un objeto en una imagen.

http://www.scantips.com/lights/subjectdistance.html

Aún tendrá que conocer sus valores para que funcione, uno de los cuales es la altura real aproximada del objeto. Discutido allí.


1

En lugar de tratar de usar fórmulas si investiga los métodos náuticos para estimar distancias que involucran algunas "reglas básicas" básicas, por ejemplo, si está parado a 1 pie sobre la altura del agua, está a 3 millas náuticas del horizonte si levanta el pulgar con los brazos extendidos, el objeto que miras está cubierto, tiene una altura de 100 pies (creo). Me he olvidado de la mayoría de estos, ya que ya no los uso, pero funcionan y una vez aprendidos y usados ​​regularmente son notablemente precisos.


tan interesante ! cosas como esta - espero que no se olviden con el tiempo
Rob

0

Respuesta simple: no. Tienes dos variables y solo una ecuación.


1
Muy baja calidad en comparación con la respuesta aceptada ...
Olivier

Pero muy simple y (correctamente) al grano.
Michael C

puede asumir que esto está implícito en la pregunta, y la respuesta requiere descubrir una ecuación adicional
error
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.