概述
1.安装opencv
在网上搜索Ubuntu16.04下安装opencv4想必一定搜到大把的编译源码安装opencv的教程,其实安装opencv只需一句命令:
pip3 install opencv-python
说实在我着实没想明白为什么那么多人要编译源码安装呢。。。
2.python3.6中导入opencv库
终端敲入python3.6后输入
import cv2
这时报了个错:importError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so
原因是我在之前安装了ROS,ROS默认python版本是2.7,这个问题是由ROS添加/opt/ros/kinetic/lib/python2.7/dist-packages到python路径引起的
解决办法:
打开.bashrc文件
gedit ~/.bashrc
在末尾将这句注释掉
source /opt/ros/kinetic/setup.bash
使该环境变量在当前终端生效生效
source ~/.bashrc
这样就可以正确使用python3的opencv包,可以取消注释source /opt/ros/kinetic/setup.bash来使用ROS。
但是,这确实意味着无法在同一环境中使用ROS和python3
不过目前ROS1只支持python2,应该在ROS2.0才会支持到python3
导入opencv后查看opencv版本:
print(cv2.__version__)
输出:4.2.0
3.在Python3.6虚拟环境中import cv2及遇到的问题
首先在虚拟环境中导入opencv需要链接到opencv的路径,执行命令查找cv2.cpython-36m-x86_64-linux-gnu.so的位置:
sudo find / -name cv2.cpython-36m-x86_64-linux-gnu.so
之后将虚拟环境中opencv链接到上边文件的路径比如:
cd .virtualenv/py36env/lib/python3.6/site-packages
sudo ln -s ~/.local/lib/python3.6/site-packages/cv2/cv2.cpython-36m-x86_64-linux-gnu.so cv2.so
或者直接将上边的文件复制到虚拟环境下的包路径(site-packages)也行
在执行完以上步骤后进入虚拟环境启动python3.6后import cv2遇到以下问题
ModuleNotFoundError: No module named 'cv2'
原因有很多 以下几种方法可能可以解决:
(1)安装opencv的contrib库
pip install opencv-contrib-python
(2)安装python-opencv
sudo apt-get install python-opencv
(3)将cv2.so复制到系统默认安装python的路径下比如
/usr/local/lib/python3.6/dist-packages/cv2/cv2.so
原文地址:https://segmentfault.com/a/1190000021862172,作者:
以上就是对Ubuntu16.04、Python3.6下安装opencv4遇到的问题的相关介绍,希望对您学习有所帮助,感谢您关注懒咪IT学习网!
本文地址:https://c.lanmit.com/czxt/Linux/33137.html
最后
以上就是善良啤酒为你收集整理的python3.6安装opencv库_Ubuntu16.04、Python3.6下安装opencv4遇到的问题的全部内容,希望文章能够帮你解决python3.6安装opencv库_Ubuntu16.04、Python3.6下安装opencv4遇到的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复