วิธีเปลี่ยนรหัสโดยใช้ OpenCV เพื่อให้ได้ระยะทางระหว่างซีรีส์ Intel® RealSense™ ซีรีส์ D400 และวัตถุ
ฉัน rewrote โปรแกรมใน python เพื่อวัดระยะทาง ลิงก์ไปยังแหล่งข้อมูล
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')
โปรแกรมแสดงผลระยะทางตามที่คาดไว้ แต่หากฉันย้ายวัตถุในที่อื่น ข้อมูลจะไม่ให้ข้อมูลระยะทางแก่ฉันอีกต่อไป
ในแถว:
dist_to_center = depth_frame.get_distance(int(width/2), int(height/2))
คุณอ่านระยะทางจากจุดกึ่งกลางของสตรีมเท่านั้น ไม่ใช่จากจุดใดๆ
หากคุณต้องการหาระยะทางจากจุดใดก็ได้ คุณอาจต้องการตรวจสอบตัวอย่าง OpenCV DNNซึ่งจัดประเภทและวัตถุโดยใช้สตรีม RGB (สีแดง เขียว สีฟ้า) แล้วใช้สตรีมระยะชัดลึกเพื่อคํานวณระยะทางของวัตถุนั้นจากกล้อง