文章目录

基于conda安装方法

1. 创建需要的python版本虚拟环境

2. 激活该虚拟环境并安装opencv

3. 验证opencv是否正确安装

4. 不想使用,可卸载opencv3,退出并删除虚拟环境

基于pip安装

总结

本文将介绍如何在linux系统中安装opencv,从源码中安装的方式参见我的博客

从源码安装很耗时,也很复杂,不推荐,源码安装的博客有一些安装OpenCV之前的依赖,如读写本地图片视频的软件包;并且也可以通过python自有的包管理工具pip来安装或常用科学计算包Anaconda的包管理工具conda来安装 .

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

我们有两种方案安装基于conda和pip

基于conda安装方法

Anconda(或者Minianaconda)安装完成后,python版本固定(2019年8月27日,安装好anaconda后python默认版本是3.7),但我们可以自己指定所需要的python版本:

conda将把包安装在$YOURENV/vm/lib/python3.6/site-packages

1. 创建需要的python版本虚拟环境

conda create -n vm python=3.6 #创建一个名叫vm,python3.6版本的虚拟环境

1

 

2. 激活该虚拟环境并安装opencv

conda activate vm #激活

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

#如果要安装opencv4将opencv3改成如下命令

conda install -c https://conda.anaconda.org/menpo opencv #安装最新版opencv4

#也可通过conda search -c https://conda.anaconda.org/menpo opencv*来搜索所有opencv版本


2021年9月14日更新

opencv 版本查看:

conda search opencv -c conda-forge


3. 验证opencv是否正确安装

python

import cv2

print(cv2.__version__)

此处遇到问题:环境为centos

ImportError: .1: cannot open shared object file: No such file or directory

解决办法

 yum install mesa-libGL.x86_64,测试可用

4. 不想使用,可卸载opencv3,退出并删除虚拟环境

conda unstall opencv3 #卸载opencv3

conda deactivate #退出虚拟环境

conda remove -n vm --all #删除虚拟环境


基于pip安装

基于pip安装,有两种选项:

安装到系统的site-packages

安装到虚拟环境的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

1

2

2021年9月14日更新

pip 查看版本方法:

pip >= 21.2:pip index versions opencv-python

pip >= 21.1 use: pip install opencv-python==

pip >= 20.3 use:pip install --use-deprecated=legacy-resolver opencv-python==

查看完之后,就可以选一个版本进行安装

总结

由于不是从官方版本,只有”non-free"算法,所以可能部分函数会失败,这时要重源码安装。