安装opencv有三种方法:
(1)源码安装:
从源码安装很耗时,也很复杂。
(2)Anaconda 安装:
常用科学计算包 Anaconda 的包管理工具 conda 来安装.
(3)pip 安装:
通过python自有的包管理工具 pip 来安装.
先要说明的是,The PyPi / PiWheels 包含的 opencv 版本并不包括一些 “non-free" 算法,比如 SIFT,SURF 或其它专利算法。
如果不介意这些,并且想快速搭一个 opencv 的环境,就是通过 pip 或 conda 安装的包并不是 openc v官方的包,而是由第三方维护的,但这并不影响我们的使用。
(一)我在虚拟环境下采用conda安装opencv(此虚拟环境默认python2.7.17)
因为前面安装一次opencv出错,conda不能用了,导致我卸载conda又重新装的(呜呜呜呜呜呜呜),所以这次我选择在虚拟环境下安装
but不死心,后面又在公共环境安了,conda又不能用了,但我这为此找到了解决办法,可以看后面。。
conda create -n opencv
source activate 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
具体如下:
下面图片可以看到安装的包,其中
opencv2.4.11
python2.7.17
没有问题,opencv可以用。
source deactivate
(二)公共环境下采用conda安装opencv,opencv安装成功,但conda不能用了,后面又解决了
在安装opencv之前我的python:
安装完opencv之后我的python:
再看一下conda,不能用了。。。。。
出错原因:
安装opencv删了Anaconda下的python软链接,所以后面再输入conda的任何命令都不能运行了。
解决方法:
1、切换到当前用户“下载”文件夹,找到对应的annconda文件:
2、输入:
bash Anaconda3-5.2.0-Linux-x86_64.sh -u
这样就可以重新安装anaconda相关信息(重新安装 Anaconda 到原来的安装目录下,我的是默认文件夹,所以就自动安装了),但是env中的自定义环境中的安装包不会受影响。本操作不会影响已经存在的环境信息。
conda可以用了,之前创建的虚拟环境也还在:
这个时候再看,conda的python回来了,但是opencv没了:
(三)在python=3.6的虚拟环境下用conda安装opencv
conda install -c https://conda.anaconda.org/menpo opencv3
conda install -c https://conda.anaconda.org/menpo opencv3
(四)公共环境下用conda安装opencv—成功!!
安装opencv3
现在python和conda版本都变了(因为前面安装opencv过程中,更新了python和conda)
由于使用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