更换ROS中的OpenCV-python版本

         ROS Kinetic中默认安装的是OpenCV-3.3.1-dev版本,而且ROS的python环境默认只有2.7版本,通过pip安装了别的版本的OpenCV后ROS还是会最先调用默认的3.3.1,所以需要先卸载该版本:

sudo easy_install trash-cli

sudo trash-put /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so

         安装一个trash-cli插件就可以直接删除ros安装目录下面的cv2.so

         然后用pip命令就可以安装任意版本的OpenCV和它的扩展包:

sudo pip install opencv-python==3.4.0.12
sudo pip install opencv-contrib-python==3.4.0.12 

          这个方法对于还在用Indigo版本的ROS的道友们十分有用,博主曾经苦恼于深陷它的OpenCV2而遇到诸多问题,无法修改,这个方法可以帮你摆脱老版本,甚至吃上最新的OpenCV4。

          改依赖实在是程序猿最头疼的事,祝各位好运。

PS:发现melodic版本的cv2.so并没有放在/opt/ros/melodic/lib/python2.7下面,直接去装新版本就可以在rosrun中自动调用新版本。

你可能感兴趣的:(ROS)