我已经安装了libfreenect2和iai_kinect2来处理我的Kinect上的PCL和ROS。我一直在研究如何从Kinect 2获取深度图数据。我已经能够看到并检查rostopic list
但我无法理解如何以米而不是整数来获取深度数据。
运行rostopic list
时,我会收到以下主题:
rostopic
运行rosnode list
时,我得到以下输出:
rosnode
哪些主题会从kinect(kinect v2)中获取深度图信息?我已回显所有主题(使用rostopic echo <topic name>
),所有主题都在[0,255]范围内发布值。我无法理解如何获得深度图,其中(理想情况下)应该是浮点数而不是0-255的离散范围?
另外,那些额外的rosnode是什么,在他们的名字后附加了points_xyzrgb_,我该如何使用它们?我是否必须编写一些额外的程序以某种方式提取深度图---如果是这样,如何?
答案 0 :(得分:0)
如果您想使用深度贴图,则必须订阅主题:/kinect2/sd/image_depth
,而不是以您希望的方式使用图像。
我不知道您的应用是否需要深度图片,但主题/kinect2/sd/points
和/kinect2/hd/points
会为您提供类型为sensor_msgs/PointCloud2
的消息。您可以使用PCL中的方法将消息转换为PCL pointcloud(pcl::fromROSMsg
),然后返回ROS消息(pcl::toROSMsg
)。您必须包含pcl_conversions