Cómo cambiar el código mediante el uso de OpenCV con el fin de obtener la distancia entre Intel® RealSense™ serie D400 y un objeto
Rewrote el programa en python para medir la distancia. Enlace a la fuente.
while True: frames = pipeline.wait_for_frames() depth_frame = frames.get_depth_frame() if not depth_frame: continue width = depth_frame.get_width() height = depth_frame.get_height() #print(width,height) #Calculate distance dist_to_center = depth_frame.get_distance(int(width/2), int(height/2)) print('The camera is facing an object:',dist_to_center,'meters away')
Genera la distancia como se esperaba, pero si mueven el objeto en una ubicación diferente, ya no me da información de distancia.
En la línea:
dist_to_center = depth_frame.get_distance(int(width/2), int(height/2))
está leyendo la distancia solo desde el centro de la secuencia, no desde ningún punto.
Si desea obtener la distancia desde cualquier punto, es posible que desee comprobar el ejemplo de OpenCV DNN, que clasifica y objeto utilizando la secuencia RGB (roja, verde, azul) y, a continuación, utiliza la secuencia de profundidad para calcular cuán lejos está ese objeto de la cámara.