OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
在 Ubuntu 中安装 OpenCV-Python

目标

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

OpenCV-Python 可以通过两种方式在 Ubuntu 中安装

  • 从 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
-- 解释器:/usr/bin/python2.7(版本 2.7.6)
-- 库:/usr/lib/x86_64-linux-gnu/libpython2.7.so(版本 2.7.6)
-- numpy:/usr/lib/python2.7/dist-packages/numpy/core/include(版本 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__)