ID de l'article: 000038064 Type de contenu: Maintenance et performances Dernière révision: 08/07/2021

Distance à ne pas lire pour les objets qui ne sont pas au centre avec des caméras Intel® RealSense™ l’aide de Python

BUILT IN - ARTICLE INTRO SECOND COMPONENT
En bref

Comment modifier le code en utilisant OpenCV afin d’obtenir la distance entre Intel® RealSense™ série D400 et un objet

Descriptif

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.

Résolution

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.

Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.