You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从ROS.bag提取图像时如何理解remap标签及处理话题类型不匹配问题

问题解决指导

报错根因

image_view功能包的extract_images节点仅支持接收sensor_msgs/Image类型的图像话题,你在remap配置中指定的/prediction/predicted_trajectories_rviz是visualization_msgs/MarkerArray类型的RViz标记数组话题,两者消息类型不匹配,因此连接被强制中断。

实现方案

你需要的最终效果是和rosbag play运行时RViz显示效果一致的视频,即叠加了预测轨迹、自车状态、道路信息等可视化元素的合成画面,可按两种路径实现:

路径1:快速手动生成(适合单次需求)

直接启动你提供的bag播放launch文件,打开RViz确认显示效果符合预期后,用录屏工具(如Kazam、OBS)录制RViz窗口,bag播放完成后停止录制即可直接得到MP4格式视频。

路径2:自动化生成(适合批量处理需求)

如果需要无人工介入自动生成视频,按以下步骤操作:

  1. 若你仅需要bag中原生的未叠加标注的原始图像,先执行以下命令查询bag内的图像类话题:
rosbag info /opt/ros/melodic/share/image_view/myBag.bag

在输出结果中找到类型为sensor_msgs/Image的话题,将你现有提取launch文件中remap标签的to参数替换为该话题名称,即可正常提取原始图像帧。
2. 若你需要叠加RViz可视化元素的合成画面,先安装rviz_camera_publisher功能包,在你原有播放bag的launch文件中新增该节点配置,将RViz视口的内容实时发布为sensor_msgs/Image类型的话题。
3. 新增extract_images节点,将其remap到上述发布的图像话题,即可提取带标注的画面帧。
4. 所有图像帧提取完成后,用ffmpeg命令合并为MP4视频,示例命令如下(需根据你的文件名格式、实际帧率调整参数):

ffmpeg -r 10 -i ~/.ros/frame%04d.jpg -vcodec libx264 output.mp4

内容的提问来源于stack exchange,提问作者zhenDong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 17:54:02