跳转到主要内容
杨月昌的软件博客
返回

手把手教你编译 OpenCV 4 + Contrib:VS2017 实战指南

一、 编译前的深度准备

编译 OpenCV 及其扩展库(Contrib)需要严谨的目录结构,建议按下图方式组织,以防配置路径时出错:


二、 CMake 配置:决定成败的关键

这是最容易报错的环节。请按照以下步骤精准操作:

1. 指定路径与初次 Configure

2. 引入 Contrib 扩展包

在中间的搜索框中找到以下项并修改:

🔥 避坑指南: > 第一次 Configure 后,CMake 会尝试下载 ippicv 等文件。由于网络原因经常失败(红字报错)。 解决办法: 查看 build/CMakeDownloadLog.txt,手动下载缺失文件并放入相应文件夹,或使用科学上网工具。

3. 生成工程

点击 Configure 直到所有红项消失,最后点击 Generate,再点击 Open Project 进入 VS2017。


三、 Visual Studio 编译:最后的冲刺

进入 VS2017 后,我们需要完成“批生成”。

  1. 切换配置:在上方工具栏确认当前是 x64
  2. 批生成 (Batch Build)
  1. 结果产出: 编译完成后,所有的库文件、头文件都会集中在 build/install 文件夹下。这是我们唯一需要保留的文件夹。

四、 开发环境配置

编译完成后,你的 OpenCV 库还不能直接使用,需要告诉系统在哪里找到它。

1. 系统环境变量

将以下路径添加到系统变量的 Path 中: D:\opencv\build\install\x64\vc15\bin

2. VS2017 项目属性配置

在你的 VS 项目中,右键项目属性进行如下配置:


五、 总结与验证

编译完成后,建议运行以下代码进行测试:

#include <opencv2/opencv.hpp>
#include <opencv2/xfeatures2d.hpp> // 只有配置了 contrib 才能调用此头文件

int main() {
    cv::Mat img = cv::imread("test.jpg");
    auto sift = cv::xfeatures2d::SIFT::create(); // 测试非免费模块
    // ... 后续代码
    return 0;
}

通过源码编译,你不仅可以自定义安装所需的模块,还能针对自己的硬件优化性能。虽然过程繁琐,但它是深入研究 OpenCV 的基石。



上一篇
实战:构建稳健的全局异常捕获与日志监控系统
下一篇
深入了解 ABP Framework:现代化的企业级应用开发框架