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

相关推荐
chenquan21 分钟前
ArkFlow 流处理引擎 0.4.0-rc1 发布
人工智能·后端·github
Se7en25827 分钟前
使用 Higress AI 网关代理 vLLM 推理服务
人工智能
AI大模型技术社31 分钟前
PyTorch手撕CNN:可视化卷积过程+ResNet18训练代码详解
人工智能·神经网络
Listennnn2 小时前
Text2SQL、Text2API基础
数据库·人工智能
钒星物联网3 小时前
256bps!卫星物联网极低码率语音压缩算法V3.0发布!
人工智能·语音识别
Listennnn3 小时前
迁移学习基础
人工智能·迁移学习
Ven%3 小时前
语言模型进化论:从“健忘侦探”到“超级大脑”的破案之旅
人工智能·语言模型·自然语言处理
tryCbest3 小时前
MoneyPrinterTurbo根据关键词自动生成视频
人工智能·ai
飞凌嵌入式3 小时前
基于RK3588,飞凌教育品牌推出嵌入式人工智能实验箱EDU-AIoT ELF 2
linux·人工智能·嵌入式硬件·arm·nxp
hao_wujing9 小时前
深度学习网络入侵检测系统警报
人工智能·深度学习