1

我必须从 rosbag 文件中提取图像和 PCD。
我正在使用 Python 2 和rosbag库来遍历消息:

import rosbag
from cv_bridge import CvBridge

bag = rosbag.Bag('test.bag')
bridge = CvBridge()
for topic, msg, t in self.bag.read_messages():
    # if image, use bridge
    # but what what to do to save a PointCloud into a PCD?

是否有一些库(如cv_bridge)可以帮助我从 rosbag 中提取 PCD?
我找到了 pypcd,但我不知道它是否能达到我希望的效果,因为它在 Python 2 中不起作用,而且我无法让rosbag库在 Python 3 中工作......

任何想法?

4

2 回答 2

2

pcl_ros有一个工具可以将点云从包文件转换为 PCD。

rosrun pcl_ros bag_to_pcd <input_file.bag> <topic> <output_directory>
于 2020-04-22T03:44:02.440 回答
0

从消息到 PointCloud 的转换可以像这样完成:

pc = PointCloud.from_msg(msg)

从 PointCloud 到消息的转换可以像这样完成:

msg = pc.to_msg()
于 2020-01-18T15:19:14.823 回答