Python 在ROS中获取RealSense深度帧

Python 在ROS中获取RealSense深度帧,python,ros,realsense,Python,Ros,Realsense,我在露台上有一架无人机,上面有一个RealSense d435摄像头。我的计划是使用YOLO找到感兴趣对象的中心,然后从深度图像中找到该点的深度。我听说深度相机输出一个图像,其中深度值被编码为RGB值。在网上进一步查找时,我发现有一个pyrealsense2库,它具有满足我所需的所有功能 我在网上看到的实现需要您创建一个pyralsense.pipeline(),并从中获取帧。问题是,这似乎只有在您的计算机上连接了RealSense摄像头时才起作用。因为我的存在于Gazebo环境中,所以我需要一

我在露台上有一架无人机,上面有一个RealSense d435摄像头。我的计划是使用YOLO找到感兴趣对象的中心,然后从深度图像中找到该点的深度。我听说深度相机输出一个图像,其中深度值被编码为RGB值。在网上进一步查找时,我发现有一个pyrealsense2库,它具有满足我所需的所有功能


我在网上看到的实现需要您创建一个
pyralsense.pipeline()
,并从中获取帧。问题是,这似乎只有在您的计算机上连接了RealSense摄像头时才起作用。因为我的存在于Gazebo环境中,所以我需要一种在ROS回调中获取和使用深度帧的方法。我该怎么做?任何提示都将不胜感激

是的,您可以在ROS订户的帮助下这样做,如下所示(大部分代码取自):

注意:要安装CvBridge,您可以按照以下说明进行操作:

 sudo apt-get install ros-(ROS version name)-cv-bridge

 sudo apt-get install ros-(ROS version name)-vision-opencv

更多信息:

要补充上述答案,请注意深度/图像校正原始主题。很可能您确实想要原始图像,您可以从/camera/aligned\u depth\u to\u color/image\u raw获得该图像

默认情况下,此主题可能不处于活动状态,例如,在d435i上,您应该切换“对齐深度:=true”选项:

roslaunch realsense2_camera rs_camera.launch align_depth:=true

有关更多信息,请参阅。

我自己刚刚发现了这一点。谢谢你的回复。我在网上看到的大多数东西都告诉我要使用pyrealsense2库中的
get_distance
函数,所以我认为它比最终的结果复杂得多
roslaunch realsense2_camera rs_camera.launch align_depth:=true