opencv opencv_contrib vs2020 源码安装

我们将详细讲解如何在Windows 10/11上使用Visual Studio 2020 (VS2020) 编译安装OpenCV 4.11.0及opencv_contrib模块。

准备工作

  1. ​下载源码​​:

  2. ​安装依赖工具​​:

    • ​CMake​: 下载最新版本 https://cmake.org/download/ (选择Windows x64安装包)
    • ​Python​: 推荐Python 3.7+ (从Python官网下载, 并勾选添加至PATH)
    • ​Visual Studio 2020​: 安装时选择"使用C++的桌面开发"工作负载

速度慢可用以下gitee:

识文断字/opencv

识文断字/opencv_contrib

注意必须是git clone 下来后 https://gitee.com/luozhonghua/opencv.git

然后 git checkout -b 4.11.0 否则非全量源码后面会有更多问题

2. 配置CMake

  1. 打开CMake GUI

  2. 设置源码路径和构建路径:

    • Where is the source code: D:/opencv/opencv-4.11.0
    • Where to build the binaries: D:/opencv/build (可以新建一个build目录)

3、修改第三方库下载地址

进入D:\opencv\3rdparty\ippicv 目录,将 ippicv.cmake 的https://raw.githubusercontent.com修改为https://raw.staticdn.net

进入D:\opencv\3rdparty\ffmpeg目录将 ffmpeg.cmake的https://raw.githubusercontent.com修改为https://raw.staticdn.net

同样修改opencv_contrib内文件:

D:\opencv\opencv_contrib\modules\xfeatures2d\cmake目录下两个文件

D:\opencv\opencv_contrib\modules\face目录下CMakeLists.txt

D:\opencv\opencv_contrib\modules\wechat_qrcode目录下CMakeLists.txt

原地址下载很慢且可能出现无法下载问题~~~

修改后仍可能出现问题:

ippicv_2021.12.0_win_intel64_20240425_general.zip无法下载,请手动下载

https://github.com/opencv/opencv_3rdparty/blob/ippicv/master_20240425/ippicv/ippicv_2021.12.0_win_intel64_20240425_general.zip

百度网盘:https://pan.baidu.com/s/1y1XgRF7MrXS4uEUHXqmj-A?pwd=7yb7

提取码:7yb7

下载后替代原名文件

  1. 点击"Configure"按钮,选择:

    • Generator: Visual Studio 17 2022 (VS2022) 或 Visual Studio 16 2019 (VS2019) 注意:VS2020对应的是16,这里应选Visual Studio 16 2019?实际上VS2020和VS2019的版本号都是16,所以选择"Visual Studio 16 2019"即可。但CMake中可能显示为"Visual Studio 16 2019",VS2020对应的是此选项。
    • Optional platform for generator: x64
  1. 等待第一次配置完成(可多次Configure)

  2. 在配置过程中可能会出现下载错误(如FFMPEG等),可忽略,后续配置

  3. 重要选项配置:

    • OPENCV_EXTRA_MODULES_PATH = D:/opencv/opencv_contrib-4.11.0/modules (注意: 路径用正斜杠)
    • OPENCV_ENABLE_NONFREE = ON (如果需要SIFT/SURF等专利算法)
    • BUILD_opencv_world = ON (将所有库合并为一个,可选)
    • OPENCV_GENERATE_SETUPVARS = OFF (可不生成,手动配置环境变量)
    • 如果遇到IPPICV等下载问题,可手动下载并放置到缓存目录(见常见问题)
  4. 再次点击"Configure",直到红色部分消失

  5. 点击"Generate"生成VS解决方案

打开vs2020 opencv,sln解决方案

执行all build然后再执行install

注意:执行60分钟以上才是正常的,否则都是非全量源码

4. 配置环境变量

  1. 将OpenCV的bin目录添加到系统环境变量PATH:
    • D:\opencv\build\install\x64\vc16\bin
  2. (可选) 设置OpenCV环境变量:
    • 新建环境变量OpenCV_DIR = D:\opencv\build\install

5. 验证安装

创建VS2020控制台项目,测试代码:

复制代码
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
    Mat img = imread("test.jpg");
    if (img.empty()) return -1;
    imshow("Image", img);
    waitKey(0);
    return 0;
}

项目配置:

  • 包含目录: D:\opencv\build\install\include
  • 库目录: D:\opencv\build\install\x64\vc16\lib
  • 附加依赖项: opencv_world4110.lib (如果启用了world模块) 或者具体的库如opencv_core4110.lib

具体可参考:opencv vs2020正确的环境配置-CSDN博客

常见问题解决

  1. ​下载第三方库失败 (如IPPICV、FFMPEG等)​​:

    • 手动下载:根据错误提示中的URL下载,并放到源码目录下的.cache目录中对应文件夹
    • 例如:opencv-4.11.0\.cache\ippicvopencv-4.11.0\.cache\ffmpeg
  2. ​编译时出现文件找不到错误​​:

    • 检查opencv_contrib路径是否设置正确
    • 关闭CMake,删除缓存(CMakeCache.txt),重新配置
  3. ​Python绑定问题​​:

    • 确保Python环境正确,且配置中Python3_EXECUTABLE指向正确的解释器
  4. ​模块缺失​​:

    • 检查opencv_contrib模块是否成功集成,可在CMake的模块列表中确认
  5. ​视频编解码问题​​:

    • 若需使用摄像头或视频编解码,确保启用WITH_MSMFWITH_FFMPEG等选项

按照以上步骤,通常可以在VS2020上成功编译OpenCV 4.11.0和opencv_contrib模块。

相关推荐
黎相思4 分钟前
项目简介
人工智能·chatgpt
Coding茶水间12 分钟前
基于深度学习的安检危险品检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
爱笑的眼睛1124 分钟前
超越 `cross_val_score`:深度解析Scikit-learn交叉验证API的架构、技巧与陷阱
java·人工智能·python·ai
sky丶Mamba37 分钟前
上下文工程是什么,和Prompt、普通上下文区别
人工智能·prompt
老吴学AI38 分钟前
Vibe Coding提示词(Prompt)常见的6个坑
人工智能·prompt·ai编程·提示词·vibe coding
Angelina_Jolie1 小时前
基于 Retinex 的 TempRetinex:适用于不同光照条件下低光视频的无监督增强方法
计算机视觉·音视频
好奇龙猫1 小时前
【AI学习-comfyUI学习-第十九节-comtrolnet艺术线处理器工作流-各个部分学习】
人工智能·学习
老蒋新思维2 小时前
从「流量算法」到「增长算法」:AI智能体如何重构企业增长的内在逻辑
大数据·网络·人工智能·重构·创始人ip·创客匠人·知识变现
苍何2 小时前
在全世界都教你做小红书图片的时候,我基于秒哒Pro做了个一键生成的网站。
人工智能
苍何2 小时前
用即梦视频3.5pro复刻爆款AI探班视频,直接发现一个AI片场!
人工智能