opencv python安装linux_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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux之用wget下sublime简单使用总结

1、简单介绍wget 1)、wget命令在linux系统上面主要通过url下载, wget url 2)、比如我们需要断点续传我们加上参数 -c wget -c url 2、下载sublime 1)电脑32位 wget http://c758482.r82.cf2.rackcdn.com/Sublime\ Text\ 2.0.2.tar.…

查看端口被占用的进程号然后结束进程(解决端口被进程占用的问题)

在dos窗口下输入netstat -ano|findstr 8080(这里指所占用的端口号) taskkill /pid 6865(这里至查询出来占用8080端口的pid码)转载于:https://www.cnblogs.com/tianhao/p/4231874.html

Python操作Excel——win32com模块和xlrd+xlwt+xlutils组合

今天,接到一个任务,要生成大约两百个excel文件,从2006年到2013年,每个月两个文件,这些文件中除了几个关于日期的单元格不同外,其他数据都相同,所以就想到可以用python写一个小脚本,自…

linux c之管道的介绍、创建关闭和简单读写(父进程向子进程写入数据)

1、管道介绍、 进程间通信的几种主要手段中。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具 有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 2、管道特点、 管道是半双工的,数…

C# dynamic 类型用法举例

dynamic类型允许编写忽略编译期间的类型检查的代码。编译器假定,给dynamic类型的对象定义的任操作都是有效的。如果该操作无效,则在代码运行之前不会检测该错误,如下面的示例所示:这个示例没有编译,因为它调用了staticPerson.GetF…

在微信小程序中绘制图表(part2)

本期大纲 1、确定纵坐标的范围并绘制 2、根据真实数据绘制折线 相关阅读:在微信小程序中绘制图表(part1)在微信小程序中绘制图表(part3) 关注我的 github 项目 查看完整代码。 确定纵坐标的范围并绘制 为了避免纵坐标的…

dynamic_cast

dynamic 转换时的类必须有虚函数&#xff0c;否则会编译报错。 #include <iostream> using namespace std;class A { public:int a ;int b;void prt(void){std::cout <<"prt here" << std::endl;}//virtual ~A(){}; };class B: public A { };class…

Windows 8.1 新增控件之 CommandBar

上一篇为大家介绍了AppBar 的相关内容&#xff0c;本篇继续介绍CommandBar 的使用方法。与AppBar 相比而言&#xff0c;CommandBar 在开发使用方面较为单一&#xff0c;在按键布局上分为主控区&#xff08;Primary Commands&#xff09;与辅控区&#xff08;Secondary Commands…

很抱歉,你不涨工资,正是因为你“太努力”!

太多人干了一辈子工作却还在原地踏步太多人在公司里任劳任怨最终还一事无成你或许欠缺的不是努力而是思维聪明的人都会投资自己想办法让自己变得无可替代这样老板离不开你的那一天就是你升职加薪的时候快来和我一起看看哪些公众号都能帮你提高能力呢&#xff1f;募格课堂ID&…

php文件锁解锁是删除对应的文件_软件 | 文件解锁强制删除工具 Wise Force Deleter v1.49...

有过电脑里面想删除一个文件&#xff0c;死活删除不了的痛苦吗&#xff1f;用尽了各种办法&#xff0c;关闭进程&#xff0c;删除关联文件&#xff0c;卸载对应的程序&#xff0c;然而还是无法删除&#xff0c;甚至都进入了安全模式删除&#xff0c;依然文件纹丝不动&#xff0…

.NET 7 预览版来啦,我升级体验了

听说.NET 7 来了&#xff0c;站长怎能不尝鲜呢&#xff0c;在除夕当天将体验情况简单汇报下&#xff0c;然后迎新春喽&#xff1a;本文目录.NET 7 详情&#xff08;Proposed .NET 7 Breaking Changes #7131&#xff09;.NET 7 SDK下载尝鲜体验3.1 安装.NET 7 SDK3.2 Hello Word…

【emWin】例程六:设置颜色

实验指导书及代码包下载&#xff1a; 链接&#xff1a;http://pan.baidu.com/s/1kVr25vT 密码&#xff1a;xbkj 实验现象&#xff1a;

定制安装centos6.4系统 上汽集团线上环境

准备环境&#xff1a;先手动安装一台centos6.4系统①建立目录iso&#xff0c;挂载镜像yum -y install createrepo mkisofsmkdir /isomount /dev/cdrom /media②copy镜像文件到 iso目录cp -a /media/ /iso③ 编辑ks.cfg文件cat /iso/media/ks.cfg##############################…

搜索引擎 ElasticSearch 之 步步为营2 【基础概念】

在正式学习 ElasticSearch 之前&#xff0c;首先看一下 ElasticSearch 中的基本概念。 这些概念将在以后的章节中出现多次&#xff0c;所以花15分钟理解一下是非常值得的。 英文好的同学&#xff0c;请直接移步官网&#xff1a;&#xff08;http://www.elasticsearch.org/guide…

Eclipse之Android项目名有红感叹号的解决办法

问题&#xff1a; Eclipse之Android项目名有红感叹号的解决办法 代码都没有错&#xff0c;然后项目有红感叹号 1、找问题原因 点击项目右键&#xff0c;然后点击Build Path,然后再Configure Buil Path,然后再去看Library,发现有个jar丢失&#xff0c;是Android-19,路径和我本地…

渣男劈腿,两个女生却逼他做出选择,结果......

1 生一个女儿有多重要&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 真实版眼睛瞪得像铜铃&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 地表最强撞衫&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 过年时最怕遇见的人&#xff08;素材…

python重构函数_Python代码重构

代码重构是一件非常辛苦却非常有意义的事情&#xff0c;代码重构的原因在于&#xff1a;1、代码过于冗余、沉余2、代码过于耦合3、代码过于复杂4、接口调用超出三层这次重构主要在于架构问题&#xff0c;自己没有画出实现整个项目的功能&#xff0c;逻辑实现与接口定义&#xf…

Windows端口被占用处理方法

为什么80%的码农都做不了架构师&#xff1f;>>> 以下文章主要以80端口号为例&#xff0c;如果想知道其他的端口号也可以使用该方法..........................1、在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等. 这里主要是用到windows下…

22543!Windows 11 新预览版发布

面向 Dev 频道的 Windows 预览体验成员&#xff0c;微软现已发布 Windows 11 预览版 Build 22543。主要变化和修复1.Windows 11 锁屏界面新增媒体播放控件&#xff0c;该功能将始终使用深色主题。目前这项功能只对部分 Windows 预览体验成员推出&#xff0c;随着时间的推移&…