OpenCV 4.11.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应用程序时,此方法最好。

使用以下命令在终端中安装python3-opencv包(以root用户身份)。

$ 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__)