Para medir una distancia usando una cámara, ¿qué algoritmos se pueden usar?

Posible pero debes saber varias cosas

Solución 1: Digamos que conoce la altura del objeto H y necesita encontrar la distancia D de la cámara.

Puede colocar la cámara casi directamente sobre el elemento (teniendo en cuenta el elemento y la cámara en la misma habitación o, al menos, de modo que pueda colocarlos en el mismo horizonte).
Para que pueda encontrar el ángulo entre su cámara y el artículo. (hay herramientas de Civil Engg o incluso la aplicación de cámara).

Entonces, ahora tiene Ángulo θ y H, por lo que puede usar la ecuación tanθ = H / D, puede encontrar el valor tanθ de la calculadora, tiene H de Elemento, puede obtener D como matemática simple.

Digamos que no tiene tales herramientas para encontrar θ, entonces seguir la solución 2 puede ser útil (aunque no estoy seguro acerca de su corrección al 100%)

Solución 2: distancia focal percibida F de nuestra cámara:

F = (P x D) / W, donde P = Ancho de la imagen en píxeles, D = distancia del elemento, W = ancho del elemento. supongamos que coloco un trozo de papel estándar de 8.5 x 11 pulgadas (horizontalmente; W = 11) D = 24 pulgadas delante de mi cámara y tomo una foto. Cuando mido el ancho del pedazo de papel en la imagen, noto que el ancho percibido del papel es P = 248 píxeles.

Mi distancia focal F es entonces:

F = (248px x 24in) / 11in = 543.45

A medida que sigo moviendo mi cámara más cerca y más lejos del objeto / marcador, puedo aplicar la similitud del triángulo para determinar la distancia del objeto a la cámara:

D ‘= (W x F) / P

Nuevamente, para hacer esto más concreto, digamos que muevo mi cámara 3 pies (o 36 pulgadas) lejos de mi marcador y tomo una foto del mismo pedazo de papel. Mediante el procesamiento automático de imágenes, puedo determinar que el ancho percibido del papel es ahora de 170 píxeles. Al conectar esto a la ecuación, ahora obtenemos:

D ‘= (11 pulgadas x 543.45) / 170 = 35 pulgadas

O aproximadamente 36 pulgadas, que son 3 pies.

Encontré este algoritmo en PyImageSearch: sea increíble al aprender OpenCV, Python y la visión por computadora