Ubuntu下安装OpenCV + Python
(宿主机)操作系统:Win1064位,VirtualBox下Ubuntu虚拟机。
Ubuntu版本:16.04.2
Python之前已安装好,版本:3.5.2
方法一:
~$ uname-a
方法二:
~$ cat/proc/version
方法三:
~$ lsb_release–a
方法一:
~$whereis python
方法二:
~$ whichpython
方法三:启动Python,然后检查输出信息
细心的同学应该能否发现,当前Ubuntu主机上安装有不同版本的Python,分别是2.7.12和3.5.2两个版本,想要启动不同的版本的Python,分别执行python2和python3(或python3.5)两个命令即可。例如:
~$python3
启动Python-3.5.2,提示如下图:
通过列表文件详细信息可以看到两个命令分别链接的可执行文件,如下图:
地址:https://opencv.org/releases.html (注:可直接通过链接定位到第二部的源码下载页面)
界面如下:
我选择安装的最新版(3.4.0),点击对应版本的链接地址(图中红色圈处)。
进入新的页面(地址:https://github.com/opencv/opencv/releases/tag/3.4.0),界面如下:
选择下载源码(zip或tar.gz均可),我选择下载的是tar.gz文件,如图中红色圈所示。
点击链接下载文件到本地。
命令:
~$ tar-zxvf
首先执行更新操作:
~$ sudoapt-get update
查看是否已经安装某个包的命令有:
~$ dpkg-s pkg_name
或
~$ dpkg--get-selections | grep pkg_name
根据网上已有攻略,需要安装/确认的包有:
build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-devlibswscale-dev
经确认尚未安装的包有:
cmake git libgtk2.0-dev libavcodec-dev libavformat-devlibswscale-dev
执行如下命令执行安装:
~$ sudoapt-get install cmake git libgtk2.0-dev libavcodec-dev libavformat-devlibswscale-dev
进入解压后文件目录,并执行如下命令:
~$ cd ~/opencv-3.4.0
~$ mkdir release
~$ cd release
~$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local..
~$ make
~$ sudo make install
其中make命令耗时约26分钟!(估计是虚拟机的缘故)
至此,已经可以通过c/c++(OpenCV的实现语言)使用OpenCV了。
为了在Python中使用OpenCV,还需要一些额外工作(后经测试确认无需执行已有网络攻略所提及的额外工作),继续……
如上1.2节,本机安装有多个Python版本,不过经检查,/usr/local/bin下的三个pip命令(分别为pip,pip3和pip3.5)完全一样(可通过文件比较验证),而且都指向python3.5。三个文件的第一行都是#!/usr/bin/python3 如下图:
突然回忆起在安装过程中,在步骤 sudo make install 中,有提示信息已经为python(包括两个版本的Python)创建了什么链接的信息,忘了截屏了!
所以有可能无需安装网上各种攻略中提到的 python-opencv 包。
于是直接测试。
测试一:
启动python,我这里启动的是python3,并执行如下图示代码,成功!界面及信息如下:
测试二:
在当前目录下键入如下代码,并存储为文件:test01.py
另外所需做的工作是在当前目录下创建一个images目录,并拷贝一张图片(test01.png)到该目录下,当然图片文件的存储路径、格式、及文件名可随意,只要与代码相符即可。
执行Python文件,弹出窗口显示指定图片,大功告成!