2020-5-17更新
如果你是在使用Kitti2bag时出错就创建一个python2的环境吧,在环境中安装opencv、kitti2bag、以及安装一些必要的包(根据实际情况)
pip install catkin_pkg pyyaml empy rospkg numpy
然后在对应的目录下执行kitti2bag脚本就可以了。
原文
https://stackoverflow.com/questions/49221565/unable-to-use-cv-bridge-with-ros-kinetic-and-python3
https://community.bwbot.org/topic/499/%E5%9C%A8ros%E4%B8%AD%E4%BD%BF%E7%94%A8python3/2
理解不到位的地方还请多多指正
在使用kitti2bag时候,会出现各种问题,下面简单列举
先看一下kitti2bag的文件内容
#!/home/s/anaconda3/envs/py3.7/bin/python3.7
# -*- coding: utf-8 -*-
import sys
try:
import pykitti
print('-----')
except ImportError as e:
print('Could not load module \'pykitti\'. Please run `pip install pykitti`')
sys.exit(1)
# clear py2.7
# sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
# print(sys.path)
# sys.path.append('/home/s/anaconda3/envs/py3.7/lib/python3.7/site-packages')
# sys.path.remove('/home/s/ros_study/devel/lib/python2.7/dist-packages')
# print(sys.path)
# sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')
# print(sys.path)
import tf
import os
import cv2
import rospy
import rosbag
import progressbar
from tf2_msgs.msg import TFMessage
from datetime import datetime
from std_msgs.msg import Header
from sensor_msgs.msg import CameraInfo, Imu, PointField, NavSatFix
import sensor_msgs.point_cloud2 as pcl2
from geometry_msgs.msg import TransformStamped, TwistStamped, Transform
print(tf.__file__)
sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')
import cv_bridge
from cv_bridge import CvBridge
print(cv_bridge.__file__)