Как изменить код с помощью OpenCV для получения расстояния между Intel® RealSense™ серии 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 (красный, зеленый, синий) поток, а затем использует поток глубины для расчета удаленности объекта от камеры.
