¿Podemos calcular las distancias de los objetos cambiando la posición de la cámara y "midiendo" los tamaños de píxeles de los objetos?

No estoy seguro de si se trata de una pregunta de telemetría o de geometría simple, pero encontré preguntas similares en este foro, pero creo que esto es un poco diferente; y en realidad "más simple" (en comparación con las soluciones de "enfoque automático"), ya que muevo la cámara en una cantidad dada de dX y de alguna manera "mido" la altura de la imagen y observo una cantidad dI de cambio en el tamaño de la imagen. Por lo tanto, creo que sea independiente de la cámara. No estoy seguro si depende de la distancia focal. ¿Ayuda usar más de una relación de imagen de objeto para un dX dado?

La imagen a continuación es hipotética con E0, siendo E1 posiciones de cámara con una diferencia de dX. O1, O2 son objetos diferentes en las posiciones x1, x2; y I10, I11, I20, I21 son tamaños de imagen para O1, O2 para E0, E1. Entonces la pregunta se reduce a si existe alguna relación entre dX y dI1 y/o dI2.

ImageRatiosVsdX

HACER UN SEGUIMIENTO:

Sí; matemáticamente hablando he terminado con tal ecuación:

x1**2 + x1*dX = O1**2/(I10*I11)

Aquí el O1 representa la altura del objeto, que necesitamos pero no tenemos.

Por otro lado, nuevamente en este foro, había visto una información que decía que el tamaño de la imagen es inversamente proporcional a la distancia, es decir,

O1 = a/x1

Pero mi dibujo original no se dibujó con esta lógica, para poder mostrar una imagen más grande para un objeto más cercano (para el caso x1-dX). Por lo tanto, no puedo usar estas ecuaciones como un conjunto para resolver x1. Simplemente no pude combinar los dos (no puedo comentar una respuesta a mi pregunta, así que tuve que responder mi pregunta nuevamente para hacer una pregunta).

Así que me las he arreglado para poner un mejor dibujo, que creo que es correcto:

ingrese la descripción de la imagen aquí

Aquí tenemos un solo objeto. La cámara avanza para tomar la imagen I2. Normalmente, creo que f1 y f2 son diferentes; pero en comparación con la distancia x1, si asumimos que f1 = f2, entonces obtenemos un conjunto de dos ecuaciones para resolver x1 en la forma de:

a*x1**2 + b*x1 + c = 0

dónde

a = (I2/I1)
b = - a*dX
c = -1

y luego podemos resolver esta ecuación cuadrática y encontrar las raíces. ¿Es esta una solución viable? Bien puede argumentar que I2 >> I1 como f2 >> f1, y no ganamos nada con estas ecuaciones.

No conozco las ecuaciones correctas, pero creo que una lente principal utilizada con la apertura detenida puede ayudar, eliminando la distancia focal de la ecuación y aumentando la profundidad de campo para evitar los efectos del reenfoque.
Voto para cerrar esta pregunta como fuera de tema porque se trata de usar una cámara como herramienta para un propósito que no sea la fotografía.

Respuestas (1)

Sí, es posible hacer esto. Se llama fotogrametría . Dependiendo de lo que intente calcular, es posible que ya necesite conocer otros datos. Por ejemplo, si desea saber la distancia entre 2 objetos, necesita saber sus tamaños.

Creo que Photoshop tiene algunas opciones para la fotogrametría, aunque yo no las he usado.

Hipotéticamente, sí. Pero cosas como la respiración concentrada pueden alterar los resultados lo suficiente como para hacerlos poco fiables. Usaría equipos de topografía científica y no cámaras de consumo para este tipo de trabajo.
@Lumigraphics no solo enfoca la respiración sino también la distorsión de la lente. Una lente de ojo de pez no sería mi primera opción para esta tarea.