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模块。

相关推荐
沃达德软件3 小时前
智慧警务图像融合大数据
大数据·图像处理·人工智能·目标检测·计算机视觉·目标跟踪
QxQ么么4 小时前
移远通信(桂林)26校招-助理AI算法工程师-面试纪录
人工智能·python·算法·面试
愤怒的可乐5 小时前
从零构建大模型智能体:统一消息格式,快速接入大语言模型
人工智能·语言模型·自然语言处理
每天一个java小知识6 小时前
AI Agent
人工智能
猫头虎6 小时前
如何解决 pip install 编译报错 fatal error: hdf5.h: No such file or directory(h5py)问题
人工智能·python·pycharm·开源·beautifulsoup·ai编程·pip
龙赤子6 小时前
人工智能AI的大框架
人工智能
比奥利奥还傲.6 小时前
本地+AI+大模型自由用!Cherry+Studio打破局域网限制
人工智能
雪碧聊技术6 小时前
深度学习、机器学习、人工智能三者的关系
人工智能·深度学习·机器学习
β添砖java6 小时前
机器学习初级
人工智能·机器学习
陈奕昆6 小时前
n8n实战营Day3:电商订单全流程自动化·需求分析与流程拆解
大数据·开发语言·人工智能·自动化·需求分析·n8n