我是靠谱客的博主 善良啤酒,最近开发中收集的这篇文章主要介绍python3.6安装opencv库_Ubuntu16.04、Python3.6下安装opencv4遇到的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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遇到的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部