适用的OpenCV版本:OpenCV >= 3.0一、构建核心模块
# Install minimal prerequisites (Ubuntu 18.04 as reference)sudo apt update && sudo apt install -y cmake g++ wget unzip ninja-build# Download and unpack sourceswget -O opencv.zip https://github.com/opencv/opencv/archive/5.x.zipunzip opencv.zip# Create build directorymkdir -p build && cd build# Configurecmake -GNinja ../opencv-5.x# Buildcmake --build .
二、包含opencv_contrib模块构建OpenCV
# Install minimal prerequisites (Ubuntu 18.04 as reference)sudo apt update && sudo apt install -y cmake g++ wget unzip ninja-build# Download and unpack sourceswget -O opencv.zip https://github.com/opencv/opencv/archive/5.x.zipwget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/5.x.zipunzip opencv.zipunzip opencv_contrib.zip# Create build directory and switch into itmkdir -p build && cd build# Configurecmake -GNinja -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-5.x/modules ../opencv-5.x# Buildcmake --build .
三、流程
本文提供了构建过程的更多详细信息,并描述了替代方法和工具。请参阅本公众号《安装OpenCV 5.0安装概述》教程以获取一般安装详细信息,并参阅本公众号《OpenCV配置选项参考》以获取配置选项文档。
四、安装编译器和构建工具
1、编译OpenCV,需要有一个C++编译器。通常是G++/GCC或Clang/LLVM:
安装GCC
安装Clang
sudo apt install -y clang
2、OpenCV使用CMake构建配置工具:
sudo apt install -y cmake
3、CMake可以为不同的构建系统生成脚本,例如make、ninja:
安装Make:
安装Ninja:
sudo apt install -y ninja-build
sudo apt install -y wget unzip
1)使用web浏览器或任何下载工具(~80-90Mb)下载存储库的快照并将其解压缩
wget -O opencv.zip https://github.com/opencv/opencv/archive/5.x.zipunzip opencv.zipmv opencv-5.x opencv
2)或使用git将存储库克隆到本地计算机以获取完整的更改历史记录(>470Mb):
git clone https://github.com/opencv/opencv.gitgit -C opencv checkout 5.x
其他分支、发布或提交的快照可以在GitHub和官方下载页面上找到。
mkdir -p build && cd build
2、配置-为首选构建系统生成构建脚本
给make生成构建脚本
注意事项
配置阶段可能会从互联网下载部分文件以满足库的依赖要求,网络连接失败可能会导致部分模块或功能被自动关闭,或是出现运行异常。相关的详细说明以及完整的配置选项参考,请查阅本公众号《安装OpenCV 5.0安装概述》和本公众号《OpenCV配置选项参考》教程。
如果编译过程中遇到问题,可以尝试清理或重新创建构建目录。配置层面的改动,比如禁用某个依赖、修改构建脚本、将源码切换到其他分支,这类变更很难被构建系统妥善处理,很容易导致工作空间出现损坏无法正常使用。
make工具支持并行执行多个编译进程,-j<NUM>参数的作用是指定“同时运行的编译任务数量”。而Ninja构建工具会自动检测当前设备可用的处理器核心数,不需要额外添加-j参数来指定并行任务数。
构建成功后,你可以在build/lib目录下找到生成的库文件,在build/bin目录下找到可执行程序(包括测试程序、示例程序和相关应用程序)。
CMake 包文件将位于构建根目录中:
ls OpenCVConfig*.cmakels OpenCVModules.cmake
八、安装部署
⚠️ 重要警告
安装过程仅将文件复制到预设位置并执行少量修补操作。采用此方法安装不会将OpenCV集成到系统包管理器注册表中,因此无法通过系统包管理器自动卸载。由于可能与系统自带软件包发生冲突,我们不建议普通用户执行全系统范围的安装操作。
默认安装路径
默认情况下,OpenCV会被安装到 /usr/local 目录,各类文件的具体分布如下:
/usr/local/bin:可执行程序文件
/usr/local/lib:动态链接库文件(.so)
/usr/local/cmake/opencv5:CMake包配置文件
/usr/local/include/opencv5:头文件
/usr/local/share/opencv5:其他配套资源文件(例如XML格式的训练级联分类器数据)
执行安装命令
由于 /usr/local 目录的所有权归属于root超级用户,执行安装操作时必须提升权限,使用 sudo 命令运行:
或者如果你使用的是Ninja构建系统:
自定义安装配置
你可以通过设置 CMAKE_INSTALL_PREFIX 配置参数来更改安装根目录。例如,添加 -DCMAKE_INSTALL_PREFIX=$HOME/.local 参数,即可将OpenCV安装到当前用户的本地目录下,避免污染系统全局环境。此外,还可以通过 OPENCV_*_INSTALL_PATH 系列参数精细调整各类文件的安装布局。更多详细的配置选项说明,请查阅本公众号《OpenCV配置选项参考》文档。