读取realsense bag包中得rgbd图片

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
depth_t_path='/home/lhd/code/Realsensor2Tum/depth.txt'
rgb_t_path='/home/lhd/code/Realsensor2Tum/rgb.txt'

rgb_path = './rgb/'# absolute path of extracted rgb images
depth_path = './depth/'# absolute path of extracted depth images
bridge = CvBridge()
with rosbag.Bag('20240122_Depth1024_RGB1280.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'
             with open(depth_t_path,'a') as file:
                 file.write(timestr+" depth/"+timestr+".png"+"\n")
             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'
            with open(rgb_t_path,'a') as file:
                file.write(timestr+" rgb/"+timestr+".png"+"\n")
                
            # cv2.imwrite(rgb_path + image_name, cv_image)

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值