解析rosbag中的.bag文件,进一步得到.jpg图片数据和.pcd点云数据

使用ROS对Pandora进行数据获取,得到 .bag文件
1.解析到.jpg的图像数据

<launch>
     <node pkg="rosbag" type="play" name="rosbag" required="true" args="/home/gxd-pc/Videos/2019-12-22-17-59-00.bag"/>
     <node name="extract" pkg="image_view" type="extract_images" respawn="false" required="true" output="screen" cwd="ROS_HOME">
     <param name="sec_per_frame" value="0.00001"/>
     <remap from="image" to="/cam0/image_raw"/>
     </node>
</launch>

其中:

(1)bag存放路径,自己修改自己bag的路径。

args="/home/gxd-pc/Videos/2019-12-22-17-59-00.bag"/>

(2)自己bag的topics可以用rosbag info bag名字来获取

 <remap from="image" to="/cam0/image_raw"/>

(3)如果需要改变频率,可以在.launch文件中插入下面的代码行,这样提取出来的图片就和bag文件里的消息数量差不多了

<param name="sec_per_frame" value="0.0001"/>

(4)这时的图片名字是从0自动编号的,如果想要改变图像名称,可以再加一行:

<param name="file_format" value="frame%05d.jpg">

(5)image_view这个功能包挺好用的,例如可以用来重发bag录制的视频:

rosrun image_view image_view image:=[topic_name]

最后打开roscore,运行roslaunch extract.launch,图片就会保存在.ros中,.ros在Home下用Ctrl+H可以显示出.ros文件。
(6)用一条命令也可以实现(没试过,有兴趣的可以试一试):

rosrun image_view extra_images  _sec_per_frame:=0.03 image:=<topic_name_in_bag>

运行rosrun没有问题,就可以用rosbag打开文件

rosbag  play xxx.bag

2.解析.bag文件到.pcd点云数据文件,有两种方法:
(1)利用bag_to_pcd, 代码如下

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

(2)用pointcloud_to_pcd, 代码如下

rosrun pcl_ros pointcloud_to_pcd input:=<topic>

方法2未运行成功,该命令行,需要在节点进行通信时,抓取话题信息,暂时无法测试.参考 1.http://wiki.ros.org/rosbag/Tutorials/Exporting image and video data 2.https://answers.ros.org/question/9102/how-to-extract-data-from-bag/

部分参考自:https://msd.misuland.com/pd/2884250171976192528

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值