(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv

  • 一、创建一个名字叫“opencv”的虚拟环境:
  • 二、激活虚拟环境(也就是进入虚拟环境):
  • 三、在虚拟环境下用conda安装opencv
  • 四、退出虚拟环境:
  • 安装成功!!!!!
  • pip安装opencv
  • 结束!!!!!

安装opencv有三种方法:
(1)源码安装:
从源码安装很耗时,也很复杂。
(2)Anaconda 安装:
常用科学计算包 Anaconda 的包管理工具 conda 来安装.
(3)pip 安装:
通过python自有的包管理工具 pip 来安装.

先要说明的是,The PyPi / PiWheels 包含的 opencv 版本并不包括一些 “non-free" 算法,比如 SIFT,SURF 或其它专利算法。
如果不介意这些,并且想快速搭一个 opencv 的环境,就是通过 pipconda 安装的包并不是 openc v官方的包,而是由第三方维护的,但这并不影响我们的使用。

(一)我在虚拟环境下采用conda安装opencv(此虚拟环境默认python2.7.17)

因为前面安装一次opencv出错,conda不能用了,导致我卸载conda又重新装的(呜呜呜呜呜呜呜),所以这次我选择在虚拟环境下安装
but不死心,后面又在公共环境安了,conda又不能用了,但我这为此找到了解决办法,可以看后面。。

一、创建一个名字叫“opencv”的虚拟环境:

conda create -n opencv

如下所示:
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第1张图片

二、激活虚拟环境(也就是进入虚拟环境):

source activate opencv

三、在虚拟环境下用conda安装opencv

我没有指定opencv具体版本(因为之前指定opencv3,安装时出错了,又看到某些博文说opencv3支持python2.7不支持python3.6,不知道对不对,为了不冒风险,选择下面命令,让系统自动推荐)
用下面的安装命令,让系统自动推荐opencv

conda install -c menpo opencv

(看到别的博主有的用了这条命令:conda install -c https://conda.binstar.org/menpo opencv 应该是一样的)
“opencv”虚拟环境下默认的python为2.7.17
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第2张图片
具体如下:
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第3张图片(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第4张图片下面图片可以看到安装的包,其中
opencv2.4.11
python2.7.17

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第5张图片
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第6张图片

安装完成后,我打开python测试了一下:
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第7张图片

没有问题,opencv可以用。

四、退出虚拟环境:

source deactivate

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第8张图片

安装成功!!!!!

(二)公共环境下采用conda安装opencv,opencv安装成功,但conda不能用了,后面又解决了

在安装opencv之前我的python:

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第9张图片

下面安装opencv:
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第10张图片

安装完opencv之后我的python:
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第11张图片
再看一下conda,不能用了。。。。。

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第12张图片
出错原因:

安装opencv删了Anaconda下的python软链接,所以后面再输入conda的任何命令都不能运行了。

解决方法:

1、切换到当前用户“下载”文件夹,找到对应的annconda文件:

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第13张图片
2、输入:

bash Anaconda3-5.2.0-Linux-x86_64.sh -u

这样就可以重新安装anaconda相关信息(重新安装 Anaconda 到原来的安装目录下,我的是默认文件夹,所以就自动安装了),但是env中的自定义环境中的安装包不会受影响。本操作不会影响已经存在的环境信息。

conda可以用了,之前创建的虚拟环境也还在:

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第14张图片
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第15张图片
这个时候再看,conda的python回来了,但是opencv没了:
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第16张图片

(三)在python=3.6的虚拟环境下用conda安装opencv

conda install -c https://conda.anaconda.org/menpo opencv3

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第17张图片(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第18张图片

conda install -c https://conda.anaconda.org/menpo opencv3

(四)公共环境下用conda安装opencv—成功!!

安装opencv3之前的python和conda版本
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第19张图片(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第20张图片(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第21张图片(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第22张图片
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第23张图片(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第24张图片
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第25张图片

安装opencv3

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第26张图片(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第27张图片(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第28张图片
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第29张图片现在python和conda版本都变了(因为前面安装opencv过程中,更新了python和conda)
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第30张图片

pip安装opencv

由于使用conda安装,连接不上,下载进度为0,所以这里我选择用pip安装
基于pip安装,有两种选项:

1.安装到系统的site-packages
2.安装到虚拟环境的site-packages

.
也就是说可以通过pip在系统进行安装或在anaconda 或virtualenv的虚拟环境来安装。

有四个opencv的版本在pip可以获得:

1、opencv-python包含opencv的主要modules
2、opencv-contrib-python 包含opencv的主要modules以及contrib modules
3、opencv-python-headless: 和opencv-python相同,但是没有GUI功能
4、opencv-contrib-python-headless:与opencv-contrib-python相同,但是没有GUI功能。

综合以上,推荐在虚拟环境(anaconda 或virtualenv)中安装第二种:

sudo apt-get install -y libsm6 libxext6 libxrender-dev
pip install opencv-contrib-python

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第31张图片

(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第32张图片
(Ubuntu安装七)Ubuntu16.04下用Anaconda安装opencv_第33张图片

结束!!!!!

你可能感兴趣的:(系统安装,opencv,ubuntu,anaconda)