cmake编译 OpenCV 和 OpenCV_contrib
时间: 2025-04-22 12:59:31 浏览: 24
使用 CMake 来编译 OpenCV 和 OpenCV_contrib 是一个常见的步骤,尤其当你想要获得最新的特性和改进或是需要自定义配置时。以下是详细的指南帮助你在本地环境中编译这两个库。
### 准备工作
首先,确保你已经安装了必要的依赖项和工具链:
- **CMake**:用于生成构建系统文件。
- **Git**:获取最新源码(如果直接从 GitHub 克隆的话)。
- **编译器**:如 GCC、Clang 或 Visual Studio 等,取决于操作系统的选择。
- **Python**(可选):如果你想同时编译 Python API 支持。
此外,对于某些特定的功能模块(比如 CUDA 加速),也需要相应环境的支持。
### 步骤详解
#### 1. 获取 OpenCV 和 OpenCV_contrib 源码
打开终端或命令提示符,分别克隆 OpenCV 和 OpenCV_contrib 的 Git 仓库到本地计算机的一个合适位置:
```bash
git clone https://github.com/opencv/opencv.git
cd ..
git clone https://github.com/opencv/opencv_contrib.git
```
保证两个项目的目录处于同一层级内以便后续引用 `OPENCV_EXTRA_MODULES_PATH` 参数。
#### 2. 创建并进入构建目录
创建一个新的空文件夹作为构建空间,并切换至该目录:
```bash
mkdir -p build && cd build
```
避免在原始源代码树里执行原地构建可以防止潜在的问题发生。
#### 3. 配置选项并通过 CMake 设置项目
现在我们可以开始用 CMake 对工程进行初步设置了。这里我们假设你是基于 Unix/Linux/MacOS 平台,而对于 Windows 用户则应当选择合适的生成器(Generator)。接下来是一些常用参数的例子:
```bash
cmake \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \ # 启用 contrib modules
-D BUILD_opencv_world=ON \ # 单独打包成 world 库 (optional)
-D WITH_CUDA=OFF \ # 如果不需要 CUDA 支持就禁掉它 (optional)
-D INSTALL_PYTHON_EXAMPLES=OFF \ # 不安装 Python 示例程序 (optional)
../opencv \ # 标明顶层 CMakeLists.txt 文件所在的位置
```
注意调整上述选项以满足实际需求;例如是否开启 CUDA 加速、选择目标平台架构等。
#### 4. 编译与安装
一旦所有设置都已完成无误之后就可以启动编译流程啦!
对于 Linux/macOS:
```bash
make -j$(nproc) # 利用全部核心加速编译速度 (-j8 表示最多并发八个进程)
sudo make install # 把产物复制到系统的标准路径中去
```
Windows 使用 MSBuild 命令代替 make :
```cmd
msbuild ALL_BUILD.vcxproj /m # 编译整个解决方案
msbuild INSTALL.vcxproj # 安装生成结果到指定位置
```
### 成功标志
当看到类似“[100%] Built target ...”的信息出现在屏幕上即表示编译顺利完成。你可以通过简单的测试案例来验证新版本的 OpenCV 功能是否正常运作。
---
###
阅读全文
相关推荐
















