【SLAM】将realsense-viewer录制的rosbag视频导出成图片序列(RealSense D435)

本文介绍了如何将realsense-viewer录制的rosbag格式的视频导出成图片序列,方便合并成mp4视频或插入到论文中。

本文首发于❄慕雪的寒舍

说明

Intel提供的realsense-viewer软件录制的视频都是rosbag格式的,为了编写论文,需要从录制的视频中截取一两帧作为论文插图,所以需要使用工具把rosbag中的视频导出为图片。

最简单的方式肯定是直接rosplay播放bag里面的视频流然后使用image_view读取视频流然后截图,但是这个方式不太好,因为手动截图非常容易出现分辨率差异(框选的区域不一样),而且rosplay播放视频的时候不能暂停,也不好精确的截到自己想要的那张图片。

更好的方式是使用ros自带的工具把rosbag里面的视频流直接导出成图片序列,避免自己手动截图。在最终导出的图片序列里面选一两个插入到论文里面就ok了。

操作

首先,realsense-viewer录制的视频默认存放在用户的~/Documents文件夹里面,命名格式一般是今天的日期加上一串数字,比如20250331_172324.bag。首先要做的是确定我们需要的视频数据topic名称,使用如下命令查看

bash 复制代码
rostopic list -b example.bag

以我使用的RealSense D435为例,图像topic是下面这俩个,分别对应深度数据和RGB数据。我要的是RGB数据。

复制代码
/device_0/sensor_1/Color_0/image/data
/device_0/sensor_0/Depth_0/image/data

先使用另外一个终端A,开启roscore,然后在终端B里面执行如下命令,工具会在这个命令执行的目录中输出图片序列 。这个命令中使用了extract_images工具,并通过_sec_per_frame指定每0.01秒截取一张图片,通过image:=订阅的topic正是我需要的RGB图像topic。

bash 复制代码
rosrun image_view extract_images \
    _sec_per_frame:=0.01 \
    image:=/device_0/sensor_1/Color_0/image/data

再开启一个终端C,执行rosbag play命令来播放bag文件里面的视频,其中--topics选项用于列出我们想要广播的topic是谁。

bash 复制代码
rosbag play exmaple.bag \
    --topics /device_0/sensor_1/Color_0/image/data

执行之后,extract_images工具就会自动从这个订阅的topic中截取视频流,输出到执行这个命令的PWD里面了,如下所示。图片文件的默认命名格式是frame%04.jpg,工具会自动命名序号。

复制代码
king@ubuntu:~/Documents$ ls images/
frame0000.jpg  frame0164.jpg  frame0328.jpg  frame0492.jpg  frame0656.jpg
frame0001.jpg  frame0165.jpg  frame0329.jpg  frame0493.jpg  frame0657.jpg
...

图片输出结果如下图所示:

注:如果你想把这些图片重新组成一个mp4格式的视频,可以用ffmpeg工具实现。

The end

至此,问题解决。

相关推荐
EasyDSS5 小时前
城市应急安防系统EasyCVR视频融合平台:如何实现多源视频资源高效汇聚与应急指挥协同
大数据·网络·网络协议·音视频
hello_simon5 小时前
小白工具视频转gif,支持在线gif或视频互转,批量转换,免费在线使用,无需下载
开发语言·php·音视频
suki45226292620 小时前
音视频转换器 AV 接口静电保护方案
音视频
Java&Develop20 小时前
ffmpeg 切割视频失败 ffmpeg 命令参数 -vbsf 在新版本中已经被弃用,需要使用 -bsf:v 替代
ffmpeg·音视频
批量小王子20 小时前
01_通过调过api文字生成音频示例
音视频
EQ-雪梨蛋花汤1 天前
【Part 1全景视频拍摄与制作基础】第四节|基于UE/Unity的全景视频渲染与导出
unity·游戏引擎·音视频·vr·全景视频
却道天凉_好个秋1 天前
音视频学习(三十四):H264中的宏块
学习·音视频·宏块
却道天凉_好个秋1 天前
音视频学习(三十三):GOP详解
学习·音视频·gop
feiyangqingyun1 天前
推流265视频,网页如何支持显示265的webrtc
音视频·webrtc
猫头虎1 天前
最新如何在服务器中解决FFmpeg下载、安装和配置问题教程(Linux|Windows|Mac|Ubuntu)
linux·服务器·windows·ffmpeg·音视频·pip·视频编解码