Come modificare il codice utilizzando OpenCV per ottenere la distanza tra Intel® RealSense™ serie D400 e un oggetto
Ho risteso il programma in python per la misurazione della distanza. Link all'origine.
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')
Restituisce la distanza come previsto, ma se sposto l'oggetto in una posizione diversa, non restituisce informazioni sulla distanza.
Nella riga:
dist_to_center = depth_frame.get_distance(int(width/2), int(height/2))
si legge la distanza solo dal centro del flusso, non da qualsiasi punto.
Se si desidera ottenere la distanza da qualsiasi punto, si potrebbe desiderare di consultare l'esempio OpenCV DNN, che classifica e oggetto utilizzando il flusso RGB (rossa, verde, blu) e quindi utilizza il flusso di profondità per calcolare di quanto lontano è l'oggetto dalla videocamera.