python3环境下使用cv_bridge

环境:ubuntu18.04、ros-melodic
由于ros自带的python版本是2.7,系统中的cv_bridge是用python2编译的,如果在python3环境中使用cv_bridge,会报以下错误:
python3环境下使用cv_bridge_第1张图片因此,要在python3环境下使用cv_bridge,需要用python3编译,步骤如下:
1.安装相关依赖包

sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge

2.重新创建一个工作空间单独编译cv_bridge功能包

mkdir -p ~/python3_ws/src
cd ~/python3_ws/src
catkin_init_workspace 
cd ..
catkin_make
catkin_make install 

3.进入src目录,下载cv_bridge功能包

git clone -b melodic https://github.com/ros-perception/vision_opencv.git

4.使用catkin_make编译,并配置python版本为python3

catkin_make -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so
source ~/python3_ws/devel/setup.bash

5.以后就在当前工作空间下运行需要使用python3版本cv_bridge的代码
注意:运行前要执行source devel/setup.bash --extend,表示将cv_bridge的扩展环境添加到当前虚拟环境中,这样就可以在yolact虚拟环境中使用cv_bridge
在这里插入图片描述测试一下:
python3环境下使用cv_bridge_第2张图片没有报错了!
参考:
https://blog.csdn.net/weixin_43828675/article/details/116935397

你可能感兴趣的:(ros机械臂开发,python,ubuntu)