【Computer Vision学习】一、在Ubuntu16.04上的OpenCV环境搭建(基于python3)

一、前言

安装OpenCV一般有两种选择:

  • 基于python的包管理工具pip安装,该方法是安装OpenCV最快,最简单的方法,对初学者非常友好!【推荐
  • 从源代码编译OpenCV,该方法可以获得对其他软件包、模块的访问权限,以及针对特定体系结构优化安装。当然啦,从源代码安装将使您最大程度地控制自己的OpenCV配置,但它也是最困难,最耗时的。【需要时再来填坑】

故本文主要针对上述第一种pip方法来搭建OpenCV环境。

诸君,且听我吟。

二、虚拟环境安装

virtualenvvirtualenvwrapper是两个比较老的工具了,当然可以用,但是pyenv的虚拟环境管理也是不错的,可以参考这里安装。

接下来安装虚拟环境,首先安装 virtualenvvirtualenvwrapper这两个工具,命令如下:

sudo -H pip install virtualenv virtualenvwrapper

接下来添加环境变量,打开~/.bashrc文件,命令如下:

sudo vim ~/.bashrc

接着在最底部(vim的一般模式下按G定位到最底部),添加如下代码:

# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

而后保存退出,输入以下命令生效环境变量:

source ~/.bashrc

接着看到终端的一些输出,用于设置virtualenvwrapper

virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/initialize
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/get_env_details
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /home/clay/.virtualenvs/postmkproject

现在,可以访问新的终端命令,虚拟环境常用命令如下:

  • mkvirtualenv:创建一个虚拟环境
  • workon:激活环境(或切换到其他环境)
  • deactivate:停用环境
  • rmvirtualenv:移除环境

virtualenvwrapper更多介绍参考这里

三、基于虚拟环境的OpenCV安装

3.1、OpenCV安装前奏

毫无疑问,Linux下安装任何东西之前最后更新一下,命令如下:

sudo apt-get update
sudo apt-get upgrade

Ubuntu16.04默认会安装两个版本的python,分别是Python 2.7.123.5.2,但是不会默认安装pip,所以我们首先需要安装pip,命令如下:

wget https://bootstrap.pypa.io/get-pip.py
sudo -H python3 get-pip.py

使用pip安装OpenCV通常有两种选择:

  • 安装到系统的site-packages
  • 安装到虚拟环境的site-packages中【推荐
    • 该方法的主要好处是,可以使用隔离的软件包(许多具有版本依赖性)在系统上开发多个项目,而不必弄混系统的麻烦。也可以随时添加和删除虚拟环境。

另外,OpenCV通常有两个包:

我们待会安装opencv-contrib-python这一个就可以了,毕竟它里面是包含了opencv-python内容的!

3.2、创建虚拟环境安装OpenCV

这里为OpenCV创建一个称为cv的Python 3虚拟环境,输入以下命令:

mkvirtualenv cv -p python3

可以发现进入到虚拟环境cv后,会在用户名前面加上(cv)的标识。

输入以下命令,安装opencv:

pip install opencv-contrib-python

输入以下命令,更新pip:

pip install --upgrade pip

虚拟环境安装package时,有两点注意:
1、不要使用apt-get,而是使用pip
2、不要使用sudo,因为不是在全局安装请求。

四、验证OpenCV虚拟环境

确保在程序所在目录,放置一张名为foto1A.jpg的任意图片,然后新建一个名为test.py的python文件,输入以下内容:

import numpy as np
import cv2

img = cv2.imread('./foto1A.jpg')
gray= cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
sift = cv2.SIFT_create()
kp = sift.detect(gray,None)
# img=cv2.drawKeypoints(gray,kp,img)
img=cv2.drawKeypoints(gray,kp,img,flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv2.imshow('sift_keypoints.jpg',img)
cv2.waitKey(0)

接着,输入以下命令进入到虚拟环境中,并运行该文件:

workon cv
python test.py

运行结果,如下图所示,按任意键即可退出。

在这里插入图片描述


参考

ReCclay CSDN认证博客专家 视觉/OpenCV 图像处理 深度学习
生活不能等待别人来安排,要自己去争取和奋斗;而不论其结果是喜是悲,但可以慰藉的是,你总不枉在这世界上活了一场。有了这样的认识,你就会珍重生活,而不会玩世不恭;同时,也会给人自身注入一种强大的内在力量。
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页