OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
Linux 中的安装

上一个教程: OpenCV 环境变量参考
下一个教程: 将 OpenCV 与 gdb 驱动的 IDE 一起使用

原始作者Ana Huamán
兼容性OpenCV >= 3.0

快速入门

构建核心模块

# 安装最基本的前提条件(以 Ubuntu 18.04 为例)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# 下载并解压源代码
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
unzip opencv.zip
# 创建构建目录
mkdir -p build && cd build
# 配置
cmake ../opencv-4.x
# 构建
cmake --build .

使用 opencv_contrib 构建

# 安装最基本的前提条件(以 Ubuntu 18.04 为例)
sudo apt update && sudo apt install -y cmake g++ wget unzip
# 下载并解压源代码
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
unzip opencv.zip
unzip opencv_contrib.zip
# 创建构建目录并切换到该目录
mkdir -p build && cd build
# 配置
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules ../opencv-4.x
# 构建
cmake --build .

详细过程

本节提供有关构建过程的更多详细信息,并描述替代方法和工具。请参阅 OpenCV 安装概述 教程以获取常规安装详细信息,并参阅 OpenCV 配置选项参考 以获取配置选项文档。

安装编译器和构建工具

  • 要编译 OpenCV,您需要一个 C++ 编译器。通常是 G++/GCC 或 Clang/LLVM
    • 安装 GCC...
      sudo apt install -y g++
    • ... 或 Clang
      sudo apt install -y clang
  • OpenCV 使用 CMake 构建配置工具
    sudo apt install -y cmake
  • CMake 可以为不同的构建系统生成脚本,例如 makeninja
    • 安装 Make...
      sudo apt install -y make
    • ... 或 Ninja
      sudo apt install -y ninja-build
  • 安装用于获取和解压缩源代码的工具
    • wgetunzip...
      sudo apt install -y wget unzip
    • ... 或 git
      sudo apt install -y git

下载源代码

有两种获取 OpenCV 源代码的方法

  • 使用 Web 浏览器或任何下载工具下载存储库快照(约 80-90Mb)并解压缩它...
    wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
    unzip opencv.zip
    mv opencv-4.x opencv
  • ... 或使用 git 将存储库克隆到本地计算机以获取完整的更改历史记录(>470Mb)
    git clone https://github.com/opencv/opencv.git
    git -C opencv checkout 4.x
注意
其他分支、版本或提交的快照可以在 GitHub官方下载页面 上找到。

配置和构建

  • 创建构建目录
    mkdir -p build && cd build
  • 配置 - 为首选的构建系统生成构建脚本
    • 对于 make...
      cmake ../opencv
    • ... 或对于 ninja
      cmake -GNinja ../opencv
  • 构建 - 运行实际的编译过程
    • 使用 make...
      make -j4
    • ... 或 ninja
      ninja
注意
配置过程可以从互联网下载一些文件以满足库依赖项,连接失败可能会导致某些模块或功能被关闭或行为不同。有关详细信息和完整的配置选项参考,请参阅 OpenCV 安装概述OpenCV 配置选项参考 教程。
如果您在构建过程中遇到问题,请尝试清理或重新创建构建目录。配置中的更改(如禁用依赖项、修改构建脚本或将源切换到另一个分支)处理得不太好,可能会导致工作空间损坏。
Make 可以并行运行多个编译过程,-j<NUM> 选项表示“同时运行 <NUM> 个作业”。Ninja 将自动检测可用处理器核心的数量,不需要 -j 选项。

检查构建结果

成功构建后,您将在 build/lib 目录中找到库,在 build/bin 目录中找到可执行文件(测试、示例、应用程序)

ls bin
ls lib

CMake 包文件将位于构建根目录中

ls OpenCVConfig*.cmake
ls OpenCVModules.cmake

安装

警告
安装过程只会将文件复制到预定义的位置并进行少量修补。使用此方法安装不会将 opencv 集成到系统包注册表中,因此,例如,opencv 无法自动卸载。由于可能与系统软件包冲突,我们不建议普通用户进行系统范围的安装。

默认情况下,OpenCV 将安装到 /usr/local 目录,所有文件将被复制到以下位置

  • /usr/local/bin - 可执行文件
  • /usr/local/lib - 库 (.so)
  • /usr/local/cmake/opencv4 - cmake 包
  • /usr/local/include/opencv4 - 头文件
  • /usr/local/share/opencv4 - 其他文件(例如,XML 格式的训练级联)

由于 /usr/local 由 root 用户拥有,因此应使用提升的权限 (sudo) 执行安装

sudo make install

或者

sudo ninja install

安装根目录可以使用 CMAKE_INSTALL_PREFIX 配置参数更改,例如 -DCMAKE_INSTALL_PREFIX=$HOME/.local 安装到当前用户的本地目录。安装布局可以使用 OPENCV_*_INSTALL_PATH 参数更改。有关详细信息,请参阅 OpenCV 配置选项参考