Realsense .bag 格式文件提取图像

本文介绍了如何使用Realsense D415相机的.bag格式文件提取图像。在尝试使用ROS库和Matlab ROS Toolbox失败后,作者通过librealsense2 SDK找到了直接从数据管道pipeline中读取帧信息的方法,该方法适用于处理包含原始信息的录制视频流。代码示例包括防止丢帧的技巧和设置Visual Preset。
摘要由CSDN通过智能技术生成

使用Realsense d415录制了一个视频,保存的格式为.bag
在网上察查了一些方法,基本都是通过ROS库那一套东西实现.bag文件的解析。还有的文章提到了使用Matlab里面的ROS Toolbox对.bag文件进行解码:

使用Matlab提取Realsense数据的一种实现

然而我在尝试使用Matlab的时候始终不成功,一直在报错,最终只好无奈放弃。

最后经过在librealsense2的github上翻了两个多小时,终于找到了一种使用Realsense SDK直接提取图片的方法

使用SDK从bag里提取图片并进行后处理的方法

简单来讲,就是把录制好的.bag文件当成视频流加载到数据管道pipeline中,然后用正常获取图像的方法从这个之前已经录制好的视频流中读取帧信息。这一步可以参考官方给出的图像对齐示例:

深度图片对齐到彩色图片

注意这里提取出的帧信息是原始信息,我们在使用GUI界面录制视频的时候可能会选择一些不同的filter来提升显示效果,但是直接从.bag中提取出来的图像是没有这些filter的效果的。如果需要的话就得手动重新添加filter。

此处附上稍加改动后的提取代码

rs2::config cfg;
cfg.enable_stream(RS2_STREAM_COLO
D435i是Intel RealSense系列的一款深度相机,常用于计算机视觉和机器人领域。在Ubuntu 20系统上,你可以使用RealSense SDK来处理和收集D435i的数据,包括照片作为训练集的一部分。 以下是基本步骤: 1. 安装必要的库和软件包:首先确保安装了Ubuntu 20的最新版本,并从Intel官方GitHub仓库下载Realsense ROS(Robot Operating System)或者其他适合的驱动程序包。 ```bash sudo apt-get update && sudo apt-get install librealsense2-dkms librealsense2-launcher librealsense2-udev-tools ros-<your_ros_version>-realsense2-camera ``` 2. 配置相机:通过`rs.launch`配置文件启动相机并调整参数以获取照片。例如,设置曝光时间和帧率。 ```xml <node pkg="realsense2_camera" type="realsense_node" name="camera" args="-f -d 0 --enable-depth" output="screen"> <!-- 更改相机ID和参数 --> </node> ``` 3. 获取照片数据:运行相机节点后,可以利用rosbag工具捕获实时数据流,包含RGB图像和深度信息。 ```bash rosbag record /camera/rgb/image_rect_color /camera/depth_registered/image_rect_raw -a ``` 4. 提取照片:停止记录后,从.bag文件中提取RGB图像保存为训练集。 ```bash rosrun image_transport save_image /camera/rgb/image_rect_color /path/to/save/directory ``` 5. 数据预处理:对采集的照片进行裁剪、归一化等预处理,以便适应机器学习模型的输入格式。 6. 制作标注:如果是用于监督学习,可能需要手动为每个照片添加相应的标签,如物体位置、大小等。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值