OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
未找到
在 Ubuntu 中安装 OpenCV-Python

目标

在本教程中,我们将学习如何在 Ubuntu 系统中设置 OpenCV-Python。经过测试,以下步骤适用于 Ubuntu 16.04 和 18.04(均为 64 位)。

有两种方法可以在 Ubuntu 中安装 OpenCV-Python

  • 从 Ubuntu 仓库中提供的预构建二进制文件安装
  • 从源文件进行编译。本部分将探讨这两种方法。

另一个重要方面是所需的其他库。除了 OpenCV-Python 需要的其他依赖项(我们将在后面探讨)之外,它仅需要Numpy。但在本教程中,我们还会使用 Matplotlib 进行一些简单易懂的绘图(相比 OpenCV,我认为此方法更胜一筹)。Matplotlib 是可选的,但强烈推荐使用。同样,我们还会用到IPython,这是一个交互式 Python 终端,也强烈推荐使用。

从预构建二进制文件安装 OpenCV-Python

此方法最适合用于编程和开发 OpenCV 应用程序。

使用以下命令通过终端(以 root 用户身份)安装程序包 python3-opencv

$ sudo apt-get install python3-opencv

打开 Python IDLE(或 IPython),然后在 Python 终端中键入以下代码。

import cv2 as cv
print(cv.__version__)

如果结果打印出来,没有出现任何错误,恭喜你!!!你已成功安装 OpenCV-Python。

很简单。但这个方法有一个问题。Apt 仓库并不总包含最新版本的 OpenCV。例如,在本教程撰写期间,Apt 仓库包含 2.4.8,而最新的 OpenCV 版本是 3.x。对于 Python API,最新版本始终包含更好的支持和最新的错误修复内容。

因此,要获取最新的源代码,下一个方法是首选,即从源文件进行编译。另外,在某个时间点,如果你想要为 OpenCV 做出贡献,就需要使用该方法。

从源文件构建 OpenCV

从源文件进行编译一开始可能会显得有点复杂,但一旦你成功完成,其实没有任何复杂之处。

首先,我们将安装一些依赖项。有些是必需的,有些是可选的。如果你不想安装,可以跳过可选的依赖项。

必需的构建依赖项

我们需要CMake来配置安装、GCC来编译、Python-develNumpy来构建 Python 绑定。

sudo apt-get install cmake
sudo apt-get install gcc g++

支持 python2

sudo apt-get install python-dev python-numpy

支持 python3

sudo apt-get install python3-dev python3-numpy

接下来,我们需要 GTK 支持 GUI 功能、摄像机支持(v4l)、媒体支持(ffmpeg、gstreamer)等。

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

支持 GTK2

sudo apt-get install libgtk2.0-dev

支持 GTK3

sudo apt-get install libgtk-3-dev

可选依赖项

上述依赖项足以在 Ubuntu 机器上安装 OpenCV。但根据你的需求,你可能需要一些额外的依赖项。下面列出了这些可选依赖项的列表。你可以选择保留或者安装这些依赖项,随你 :)

OpenCV 附带了对图像格式(如 PNG、JPEG、JPEG2000、TIFF、WebP 等)的支持文件。但它可能有点旧。如果你想获取最新的库,可以安装针对这些格式的系统库开发文件。

sudo apt-get install libpng-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libopenexr-dev
sudo apt-get install libtiff-dev
sudo apt-get install libwebp-dev
备注
如果你使用的是 Ubuntu 16.04,还可以通过安装 libjasper-dev 为 JPEG2000 格式添加系统级别的支持。

下载 OpenCV

从 OpenCV 的 GitHub 仓库 下载最新源代码。(如果你想对 OpenCV 做出贡献,请选择此方法。为此,你需要先安装 Git

$ sudo apt-get install git
$ git clone https://github.com/opencv/opencv.git

此操作会在当前目录创建一个名为“opencv”的文件夹。克隆操作可能需要花费一些时间,具体取决于你的网络连接速度。

现在,打开一个终端窗口并导航到下载的“opencv”文件夹。创建一个新的“build”文件夹并导航到该文件夹。

$ mkdir build
$ cd build

配置和安装

现在,我们已满足所有必需的依赖项,让我们安装 OpenCV。借助 CMake 对安装进行配置。它可指定要安装的模块、安装路径、要使用的附加库、是否编译文档和示例等。大部分工作都将通过配置良好的默认参数自动完成。

下面的命令通常用于配置 OpenCV 库构建(在 build 文件夹中执行)

$ cmake ../

OpenCV 默认使用“Release”构建类型,安装路径为“/usr/local”。有关 CMake 选项的更多信息,请参阅 OpenCV C++ 编译指南

你应该在 CMake 输出中看到以下这些行(它们表示已正确找到 Python)

-- Python 2
-- Interpreter: /usr/bin/python2.7 (ver 2.7.6)
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6)
-- numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
-- 软件包路径:lib/python2.7/dist-packages
--
-- Python 3
-- 解释器:/usr/bin/python3.4 (版本 3.4.3)
-- 库:/usr/lib/x86_64-linux-gnu/libpython3.4m.so (版本 3.4.3)
-- numpy:/usr/lib/python3/dist-packages/numpy/core/include (版本 1.8.2)
-- 软件包路径:lib/python3.4/dist-packages

现在使用“make”命令构建文件,并使用“make install”命令安装。

$ make
# sudo make install

安装结束。所有文件已安装在“/usr/local/”文件夹中。打开终端并尝试导入“cv2”。

import cv2 as cv
print(cv.__version__)