如何使用 OpenCV 更改代码,以获得 D400 系列与英特尔® 实感™之间的距离
我将程序用 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(红色、绿色、蓝色)流对对象进行分类,然后使用深度流计算对象与摄像头之间的距离。