RealSense .bag文件彩色图,深度图提取

代码

import roslib
import rosbag
import rospy
import cv2
import os
from sensor_msgs.msg import Image
from cv_bridge import CvBridge
from cv_bridge import CvBridgeError rgb_path = './rgb/'# absolute path of extracted rgb images
depth_path = './depth/'# absolute path of extracted depth images
bridge = CvBridge()
with rosbag.Bag('20230308_194638.bag', 'r') as bag: # path for the bag
for topic,msg,t in bag.read_messages():
if topic == "/device_0/sensor_0/Depth_0/image/data": #topic different from devices
cv_image = bridge.imgmsg_to_cv2(msg, "mono16") #Z16对应 mono16
timestr = "%.8f" % msg.header.stamp.to_sec()
image_name = timestr + '.png'
cv2.imwrite(depth_path + image_name, cv_image)
# print(depth_path + image_name)
if topic == "/device_0/sensor_1/Color_0/image/data": #topic different from devices
cv_image = bridge.imgmsg_to_cv2(msg, "bgr8") # 尤其注意这个编码
timestr = "%.8f" % msg.header.stamp.to_sec()
image_name = timestr + '.png'
cv2.imwrite(rgb_path + image_name, cv_image)

需要注意的是topic,这个不同的设备可能有所区别;还有rgb的编码应该是 bgr8,深度图的编码 mono16

相关库的安装

rosbag

pip install --extra-index-url https://rospypi.github.io/simple/ rosbag
pip install roslz4 --extra-index-url https://rospypi.github.io/simple/

cv_bridge

  1. 下载源码https://codeload.github.com/ros-perception/vision_opencv/zip/refs/heads/noetic

  2. cd至cv_bridge文件夹

  3. 然后命令行安装

    python setup.py install

sensor_image and geometry_msgs

pip install sensor_msgs --extra-index-url https://rospypi.github.io/simple/
pip install geometry_msgs --extra-index-url https://rospypi.github.io/simple/

rospy

pip install -i https://pypi.douban.com/simple rospy

cv_bridge.boost

在这里下载 https://github.com/rospypi/simple/raw/any/cv-bridge/cv_bridge-1.13.0.post0-py2.py3-none-any.whl

pip install cv_bridge-1.13.0.post0-py2.py3-none-any.whl

参考

https://www.cnblogs.com/yunhgu/p/15785460.html

【Windows配置三】Python3.6安装rosbag

RealSense .bag文件彩色图,深度图提取的更多相关文章

  1. 利用ROS工具从bag文件中提取图片

    bag文件是ROS常用的数据存储格式,因此要从bag文件中提取数据就需要了解一点ROS的背景知识. 1. 什么是ROS及其优势 ROS全称Robot Operating System,是BSD-lic ...

  2. 从ROS bag文件中提取图像

    从ROS bag文件中提取图像 创建launch文件,如下: export.launch <launch> <node pkg="rosbag" type=&qu ...

  3. Matlab 读取 ROS bag 文件指定消息数据

    近期在接触Ros的时候遇到了一些问题,如何将rosbag中的信息提取出来进行进一步处理呢? 如三维点位置信息,视频信息(如果有的话)等等. 我采用的是MATLAB 读取bag信息 filepath=f ...

  4. 【ros】.bag文件

    Bags are typically created by a tool like rosbag They store the serialized message data in a file as ...

  5. 脚本:截取euroc数据集bag文件的其中一段

    脚本:截取euroc数据集bag文件的其中一段 功能:截取euroc数据集bag中的一段供算法测试 python脚本 #!/usr/bin/env python # ----------------- ...

  6. 【转帖】Linux文件夹对比并提取的差分文件技巧-rsync的妙用

    Linux文件夹对比并提取的差分文件技巧-rsync的妙用 [日期:2016-02-13] 来源:oschina.net  作者:mengshuai [字体:大 中 小] https://www.li ...

  7. 如何使用Keka for Mac提取受密码保护的文件?用Keka提取文件的格式

    如何使用Keka for Mac提取受密码保护的文件?keka Mac是很多人喜欢的压缩解压工具,以小巧,使用简单,界面简洁受到很多Mac用户的喜欢,你还可以使用它提取文件,下面我们就来介绍一下关于用 ...

  8. perl 多fasta文件匹配,并提取匹配文件第一条序列

    目标如题,有多个fasta文件和一个文件名列表,将文件名列表中包含的文件匹配出来并提取第一条序列合并成一个fa文件. 这个采用perl实现,用法和代码如下: 1 #!/usr/bin/perl -w ...

  9. <realsense D400>同步采集深度图和彩色图

    利用深度相机采集深度图和彩色图会面临一个问题,如何实现同步采集数据? 以下是我搜集到的两点方法: 1)高翔博士提到他的orbslam2教程有这么一步工作,具体目录为 example/RGBD/. (等 ...

  10. Word,Excel,pdf,txt等文件上传并提取内容

    近期项目需求:1.要用到各种文件上传,下载. 2.并对文件进行搜索. 3.仅仅要文件里包括有搜索的内容,所有显示出来. 今天正好有时间整理一下,方便以后阅读,及对须要用到的朋友提供微薄之力.首先在实现 ...

随机推荐

  1. Wasm在即时通讯IM场景下的Web端应用性能提升初探

    本文由得物技术WWQ分享,原题"基于IM场景下的Wasm初探:提升Web应用性能",下文进行了排版和内容优化. 1.什么是Wasm Wasm,全称 WebAssembly,官网描述 ...

  2. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v9.1版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持 UDP .TCP .WebSocket 三种协议,支持 iOS ...

  3. 即时通讯安全篇(九):为什么要用HTTPS?深入浅出,探密短连接的安全性

    本文由ELab技术团队分享,原题"探秘HTTPS",有修订和改动. 1.引言 对于IM开发者来说,IM里最常用的通信技术就是Socket长连接和HTTP短连接(通常一个主流im会是 ...

  4. Family of Solution Sets

      欢迎投歌词!评论告诉我歌曲链接和词就好啦-大概四五天一更? Solution Set - "卷起击碎定论的漩涡" \(\to\) <夏虫> Solution Set ...

  5. Solution -「CTSC 2017」「洛谷 P3772」游戏

    \(\mathscr{Description}\)   有 \(n\) 个随机真值 \(x_{1..n}\), 已知 \(P(x_1=1)=p_1\), 对于 \(2\le i\le n\), \(P ...

  6. 为什么在 Python 中 hash(-1) == hash(-2)?

    英文:https://omairmajid.com/posts/2021-07-16-why-is-hash-in-python 作者:Omair Majid 译者:豌豆花下猫&Claude- ...

  7. w3cschool-Hadoop 教程

    https://www.w3cschool.cn/hadoop/ 铺垫 人产生数据的速度越来越快,机器则更加快,数据的增长速度通常比算法更快,所以需要另外的一种处理数据的方法. 硬盘的容量增加了,但性 ...

  8. Shiftdel walkthrough Intermediate

    点击查看代码 nmap -p- -A 192.168.167.174 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-12 00:09 UT ...

  9. Redis服务安装和卸载,redis命令行使用

    redis安装包文件夹处, 唤出cmd 创建服务:redis-server --service-install redis.windows-service.conf --loglevel verbos ...

  10. linux创建快捷方式

    第一方法设置软连接 ln -s test.log test2.log     第二方法 第一步 新建 /usr/share/applications 目录下的某个快捷方式文件 如 touch /usr ...