【问题标题】:Saving PointCloud from Rosbag从 Rosbag 保存点云
【发布时间】:2020-05-04 18:55:30
【问题描述】:

我必须从 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 中工作......

有什么想法吗?

【问题讨论】:

    标签: python ros rosbag


    【解决方案1】:

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

    rosrun pcl_ros bag_to_pcd <input_file.bag> <topic> <output_directory>
    

    【讨论】:

      【解决方案2】:

      从消息到点云的转换可以这样完成:

      pc = PointCloud.from_msg(msg)
      

      从点云到消息的转换可以这样完成:

      msg = pc.to_msg()
      

      【讨论】:

      • 你是在 Python 2 还是 3 中这样做的?问题基本上是如何使 pypcd 在 Python 2 中工作,因为通过 pip 安装它需要 Python 3。
      • 最后,我通过手动下载pypcd代码让它工作了。
      猜你喜欢
      • 2022-07-31
      • 2021-11-14
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      • 2018-04-14
      • 2015-08-22
      • 2017-11-08
      相关资源
      最近更新 更多