So ändern Sie den Code mit OpenCV, um den Abstand zwischen der Intel® RealSense™ der D400-Reihe und einem Objekt zu erhalten
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.
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.