本文已参与「新人创作礼」活动,一起开启掘金创作之路
切换python版本
由于Ubuntu18.04和Ubuntu16.04等默认Python版本为python2
编译cv_bridge需要先切换到python3
echo alias python=python3 >> ~/.bashrc
source ~/.bashrc
借助命令切换python3
update-alternatives --display python
update-alternatives: 错误: 无 python 的候选项
先建立python的组,并添加Python2和Python3的可选项
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 # 添加Python2可选项,优先级为1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2 # 添加Python3可选项,优先级为2
用命令切换python版本:
sudo update-alternatives --config python
编译cv_bridge
环境:x64+ubuntu18.04+ros melodic版本 其他环境需要针对不同的架构、不同的环境,找到对应的路径进行修改
首先修改cv.so文件(不改会因为ros中有个cv2.so系统环境一个cv2.so导致报错导入cv2错误)下面把ros环境中的cv2.so换个名字就行了:
cd /opt/ros/melodiclib/python2.7/dist-packages/
sudo mv cv2.so cv2_ros.so
安装一些库:
sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge
创建工作区间:
mkdir catkin_workspace
cd catkin_workspace
catkin init
配置:
catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3.6 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so
安装配置:
catkin config --install
下载cv_bridge:
git clone https://github.com/ros-perception/vision_opencv.git src/vision_opencv
查看版本:
apt-cache show ros-kinetic-cv-bridge | grep Version
确认git谷仓的版本正确:
git checkout 1.12.8
编译:
cd catkin_workspace
catkin build cv_bridge
source install/setup.bash --extend