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

更新

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

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

摘要

使用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/data":
        try:
            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)
            print(rgb_path + image_name)
        except CvBridgeError as e:
            print(e)

bag.close()


python3环境报错

Failed to load Python extension for LZ4 support. LZ4 compression will not be available.
ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)

原因:lz4和cv_bridge与python3不兼容

他人解决方法

安装roslz4和在python3下自行编译cv_bridge,网上有说明,略。

多次均尝试后无法使用。

解决方法-python2

新建一个pyhcarm项目和虚拟环境(python2.7),用于读取bag包。

安装的包环境如下:

Package                       Version            
----------------------------- -------------------
actionlib                     1.12.1             
angles                        1.9.12             
bondpy                        1.8.5              
camera-calibration            1.15.2             
camera-calibration-parsers    1.11.13            
catkin                        0.7.29             
catkin-pkg                    0.5.2              
certifi                       2020.6.20          
controller-manager            0.18.4             
controller-manager-msgs       0.18.4             
cv-bridge                     1.13.1             
diagnostic-analysis           1.9.7              
diagnostic-common-diagnostics 1.9.7              
diagnostic-updater            1.9.7              
distro                        1.6.0              
docutils                      0.18.1             
dynamic-reconfigure           1.6.5              
gazebo-plugins                2.8.7              
gazebo-ros                    2.8.7              
gencpp                        0.6.6              
geneus                        2.2.6              
genlisp                       0.4.16             
genmsg                        0.5.17             
gennodejs                     2.0.1              
genpy                         0.6.16             
image-geometry                1.13.1             
interactive-markers           1.11.5             
joint-state-publisher         1.12.15            
kdl-parser-py                 1.13.3             
laser-geometry                1.6.7              
message-filters               1.14.13            
numpy                         1.16.5             
pip                           19.3.1             
pycryptodomex                 3.10.1             
pyparsing                     2.4.7              
python-dateutil               2.9.0.post0        
python-gnupg                  0.4.6              
python-qt-binding             0.4.4              
PyYAML                        5.4.1              
qt-dotgraph                   0.4.2              
qt-gui                        0.4.2              
qt-gui-cpp                    0.4.2              
qt-gui-py-common              0.4.2              
resource-retriever            1.12.7             
rosbag                        1.14.13            
rosboost-cfg                  1.14.9             
rosclean                      1.14.9             
roscreate                     1.14.9             
rosgraph                      1.14.13            
roslaunch                     1.14.13            
roslib                        1.14.9             
roslint                       0.11.2             
roslz4                        1.14.13            
rosmake                       1.14.9             
rosmaster                     1.14.13            
rosmsg                        1.14.13            
rosnode                       1.14.13            
rosparam                      1.14.13            
rospkg                        1.2.9              
rospy                         1.14.13            
rosservice                    1.14.13            
rostest                       1.14.13            
rostopic                      1.14.13            
rosunit                       1.14.9             
roswtf                        1.14.13            
rqt-action                    0.4.9              
rqt-bag                       0.5.1              
rqt-bag-plugins               0.5.1              
rqt-console                   0.4.9              
rqt-dep                       0.4.9              
rqt-graph                     0.4.11             
rqt-gui                       0.5.3              
rqt-gui-py                    0.5.3              
rqt-image-view                0.4.17             
rqt-launch                    0.4.8              
rqt-logger-level              0.4.8              
rqt-moveit                    0.5.10             
rqt-msg                       0.4.8              
rqt-nav-view                  0.5.7              
rqt-plot                      0.4.13             
rqt-pose-view                 0.5.8              
rqt-publisher                 0.4.8              
rqt-py-common                 0.5.3              
rqt-py-console                0.4.8              
rqt-reconfigure               0.5.4              
rqt-robot-dashboard           0.5.7              
rqt-robot-monitor             0.5.14             
rqt-robot-steering            0.5.10             
rqt-runtime-monitor           0.5.7              
rqt-rviz                      0.7.0              
rqt-service-caller            0.4.8              
rqt-shell                     0.4.9              
rqt-srv                       0.4.8              
rqt-tf-tree                   0.6.0              
rqt-top                       0.4.8              
rqt-topic                     0.4.11             
rqt-web                       0.4.8              
rviz                          1.13.30            
sensor-msgs                   1.12.8             
setuptools                    44.0.0.post20200106
six                           1.16.0             
smach                         2.0.3              
smach-ros                     2.0.3              
smclib                        1.8.5              
tf                            1.12.1             
tf-conversions                1.12.1             
tf2-geometry-msgs             0.6.5              
tf2-kdl                       0.6.5              
tf2-py                        0.6.5              
tf2-ros                       0.6.5              
topic-tools                   1.14.13            
urdfdom-py                    0.4.6              
wheel                         0.37.1             
xacro                         1.13.20            

可正常读取和保存image!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值