Artikel-ID: 000038064 Inhaltstyp: Wartung und Leistung Letzte Überprüfung: 08.07.2021

Entfernung nicht gelesen für Objekte, die sich nicht in der Mitte befinden, Intel® RealSense™ Python-Kameras verwenden

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Zusammenfassung

So ändern Sie den Code mit OpenCV, um den Abstand zwischen der Intel® RealSense™ der D400-Reihe und einem Objekt zu erhalten

Beschreibung

Ich habe das Programm in Python für die Messung der Entfernung neu geschrieben. Link zur Quelle.

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')


Er gibt den Abstand wie erwartet aus, aber wenn ich das Objekt an einer anderen Stelle bewege, gibt es mir keine Entfernungsinformationen mehr.

Lösung

In der Zeile:

dist_to_center = depth_frame.get_distance(int(width/2), int(height/2))

Sie den Abstand nur von der Mitte des Streams lesen, nicht von einem beliebigen Punkt aus.

Wenn Sie den Abstand zu einem beliebigen Punkt erhalten möchten, sollten Sie das OpenCV DNN-Beispielüberprüfen, das den RGB-Stream (rot, grün, blau) und dann den Tiefenstream verwendet, um zu berechnen, wie weit das Objekt von der Kamera ist.

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.