Comment modifier le code en utilisant OpenCV afin d’obtenir la distance entre Intel® RealSense™ série D400 et un objet
Je réécris le programme en python pour mesurer la distance. Lien vers la source.
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')
Elle produit la distance comme prévu, mais si je déplace l’objet dans un emplacement différent, elle ne me donne plus d’informations sur la distance.
Dans la ligne :
dist_to_center = depth_frame.get_distance(int(width/2), int(height/2))
vous ne lisez la distance que depuis le centre du flux, pas à partir de n’importe quel point.
Si vous voulez obtenir la distance de n’importe quel point, vous pouvez vérifier l’exemple OpenCV DNNqui classifie et object à l’aide du flux de RVB (rouge, vert, bleu), puis utilise le flux de profondeur pour calculer à quelle distance cet objet se trouve de la caméra.