android - tomar - ¿Es posible medir la distancia al objeto con la cámara?
app para medir paredes (10)
¿Es posible medir la distancia al objeto con la cámara del teléfono?
Quiero decir, en mi aplicación, comienzo la cámara, mirando hacia la cámara hacia el objeto (digamos casa) y luego presiono el botón y calcula la distancia y me muestra en la pantalla.
Si es posible, ¿dónde puedo encontrar algún tutorial o información al respecto?
Acepto que la pregunta ha sido respondida adecuadamente (con las salvedades obvias de requerir un terreno nivelado y posibles problemas de precisión) pero para aquellos que no creen que se puede hacer o que necesita una cámara de video, permítanme explicar las matemáticas de bajo nivel necesitaba hacerlo ...
La imagen de arriba me muestra de pie fuera de mi casa. La horizontal (d) es la distancia que quiero medir y la vertical (h) es la altura sobre la que estoy sosteniendo la cámara. En este caso, ''h'' es un valor conocido cuando estoy sosteniendo la cámara Android a la altura de los ojos (aproximadamente 67 pulgadas o 1,7 metros). Cuando inclino la cámara para apuntarla directamente al punto en que mi casa toca el suelo, todo lo que el software necesita hacer es calcular el ángulo (a) relativo a la vertical y puede calcular ''d'' usando ...
d = h * tan a
Bueno, deberías leer cómo ithinkdiff.com "mide" la distancia:
Utiliza el ángulo del iPhone para estimar la distancia hasta un punto en el suelo. Sostenga el iPhone frente a usted, alinee el punto en la cámara y obtenga una lectura directa de la distancia. La distancia puede ser utilizada en la herramienta de velocidad.
Así que, básicamente, toma la altura de donde sostiene el teléfono (a la altura de los ojos), luego debe apuntar la cámara al punto donde el objeto toca el suelo. Luego el teléfono mide la inclinación y con simple trigonometría calcula la distancia.
Esto por supuesto no es muy preciso. Se vuelve menos preciso cuanto más lejos está el objeto. También asume que el suelo está nivelado.
Creo que esta aplicación utiliza el enfoque mencionado por MisterSquonk (es gratis). Mira la técnica de "Trigonometría".
Creo que al usar FastCV puedes calcular la distancia entre la cámara y el objeto. En esto, no necesita saber el ángulo o la posición de la cámara que está sosteniendo sobre el nivel del suelo. mira esta pregunta here
Creo que podría ser posible hacerlo con la cámara del teléfono. Sé que los teléfonos modernos usan lentes para enfocarse en un objeto. Si es posible conocer su distancia focal y su posición (desplazamiento) para enfocarse en el objeto elegido, también es posible determinar la distancia .
No. Solo con dos cámaras en modo estéreo, como el xbox 360 kinect. Se necesitan al menos 3 puntos para triangular la distancia.
Nop. La cámara solo puede proporcionarle datos de imagen y una imagen sola no le brinda suficiente información para brindarle información detallada. Si tuviera varias imágenes con información de ubicación o incluso video, podría procesarla para triangular la distancia, pero una sola imagen por sí sola no sería suficiente para obtener una distancia.
Puede utilizar la técnica utilizada por nuestro ojo para obtener una perspectiva de profundidad y distancia.
1) Obtenga 2 imágenes del mismo objeto de dos posiciones diferentes de la cámara.
2) La distancia o píxeles entre el objeto en 2 imágenes es inversamente proporcional a la distancia entre la cámara y el objeto.
La implementación está disponible en https://github.com/agnelvishal/Distance-between-camera-and-object Aquí está el trabajo de investigación http://dsc.ijs.si/files/papers/S101%20Mrovlje.pdf
Una forma de lograr esto es usar el DPI en su dispositivo. Puedes tomar una foto y calcular la altura. Pero necesitará otro objeto como referencia y luego podrá conocer el problema con este método podría ser la perspectiva entre los objetos
Usted tiene el ángulo en el acelerómetro del teléfono. Si calcula la tangente de este ángulo y lo multiplica por la altura de la lente de la cámara, obtiene la distancia.