python3读取rosbag时lz4、cv_bridge报错,更换python2.7

更新

2024.7.12 新博客已经解决python3下cv_bridge报错:

ubuntu18.04+ROS-melodic配置支持python3的cv_bridge-优快云博客

摘要

使用realsense viewer进行bag文件record。项目使用的python3,但在ros版本下,进行bag文件读取报错,查阅相关资料,发现是ros不兼容python3。尝试网上多种方法,无法解决。更换python2.7,解决。

记录一下,供自己和大家学习。

版本:子系统ubuntu18.04、ros melodic、IDE:pycharm

读取bag文件代码

import roslib
import rosbag
import rospy
import cv2
import os
from sensor_msgs.msg import Image
from cv_bridge import CvBridge, CvBridgeError
#

rgb_path = './rgb/'  # absolute path of extracted rgb images
depth_path = './depth/'  # absolute path of extracted depth images
if not os.path.exists(rgb_path):
    os.makedirs(rgb_path)
if not os.path.exists(depth_path):
    os.makedirs(depth_path)

bridge = CvBridge()

bag = rosbag.Bag('test.bag', 'r')  # path for the bag
for topic, msg, t in bag.read_messages():
    if topic == "/device_0/sensor_0/Depth_0/image/data":
        try:
            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)
        except CvBridgeError as e:
            print(e)

    if topic == "/device_0/sensor_1/Color_0/image/d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值