OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项
Linux 安装

下一个教程: 在支持gdb的IDE中使用OpenCV

原作者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源代码有两种方法。

  • 使用网络浏览器或任何下载工具下载仓库快照(约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配置选项参考