4 votos

Calcular la distancia con una cámara

Me encontré con una aplicación que:

[...] muestra la distancia a los objetos vistos a través del lente de la cámara de su [dispositivo]. Simplemente apunte su [dispositivo] a cualquier objeto en su alrededores, y [la aplicación] muestra la distancia hacia que objeto en la parte superior de la imagen de la cámara. [...]

¿Cómo funciona? [La aplicación] usa la altura de la lente de la cámara y su ángulo de inclinación para calcular la distancia al objeto.

Estoy confundido. ¿Cómo funciona la altura de la lente de una cámara y un ángulo de inclinación permite calcular una distancia 3D? Pensé que un punto en un espacio 2D (lo que ve la cámara) representa una línea en 3D por lo que es imposible calcular la distancia real con 1 cámara y no objetos de referencia.

1voto

Evil Spork Puntos 99

La primera cosa que pienso de la descripción que acabamos de utilizar la trigonometría para determinar la distancia.

triangle picture

(Esto es sólo una imagen que he encontrado en internet que parecía ser usadas en este ejemplo)

es decir, - el punto N es la cámara, B es el objeto, 7.5 es la altura de la cámara, y 53.1 es el ángulo de la cámara se mantiene en relación a una línea normal a la tierra. Sabiendo esta información, se puede calcular la distancia a la B -->

12.5 = 7.5/cos(53deg)

La orientación vendría del acelerómetro/giroscopio/magnetómetro (también llamado IMU o MARG sensor) en el teléfono. Mientras que la altura puede venir de un sensor de presión barométrica, o alguna otra forma de altitud del sensor. Honestamente, no tengo idea de cómo iban a llegar a la altura de los sensores estándar dentro de un smartphone. Debido a que la mayoría de los smartphones no importa lo alto que está.

Por otra parte, algunos software puede calcular la distancia 3D/grabar vídeo en 3D utilizando la vibración de la cámara para simular los dos puntos de vista necesarios para 3D vision. Por ejemplo, un VR juego como pokemonGO posible que desee asegurarse de que los pokemon son siempre en el suelo o en una superficie como contraposición a flotando en el aire. Así que tome dos fotos en rápida sucesión y, a continuación, utilizar el desplazamiento de la cámara en ese momento para determinar la distancia a una superficie sólida. Y, a continuación, utilizar esa información cuando dibujo del pokemon a la pantalla.

0voto

blowdart Puntos 28735

Utiliza tu (es decir la altura de la lente de la cámara) sobre la tierra junto con la inclinación de la cámara (su sensor giroscopio interno)

El truco es que si el plano de tierra se encuentra en la imagen (por procesamiento de imágenes) y luego mide el ángulo a la tierra en el punto que toca el objeto.

Una vez que tengas esa distancia puede obtener la altura / anchura de la distancia y sabiendo la distancia focal de la cámara

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X