使用Realsense d415录制了一个视频,保存的格式为.bag
在网上察查了一些方法,基本都是通过ROS库那一套东西实现.bag文件的解析。还有的文章提到了使用Matlab里面的ROS Toolbox对.bag文件进行解码:
然而我在尝试使用Matlab的时候始终不成功,一直在报错,最终只好无奈放弃。
最后经过在librealsense2的github上翻了两个多小时,终于找到了一种使用Realsense SDK直接提取图片的方法
简单来讲,就是把录制好的.bag文件当成视频流加载到数据管道pipeline中,然后用正常获取图像的方法从这个之前已经录制好的视频流中读取帧信息。这一步可以参考官方给出的图像对齐示例:
注意这里提取出的帧信息是原始信息,我们在使用GUI界面录制视频的时候可能会选择一些不同的filter来提升显示效果,但是直接从.bag中提取出来的图像是没有这些filter的效果的。如果需要的话就得手动重新添加filter。
此处附上稍加改动后的提取代码
rs2::config cfg;
cfg.enable_stream(RS2_STREAM_COLO