opencv opencv_contrib vs2020 源码安装

发布于:2025-06-13 ⋅ 阅读:(18) ⋅ 点赞:(0)

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

准备工作

  1. ​下载源码​​:

    • OpenCV 4.11.0: https://github.com/opencv/opencv/archive/refs/tags/4.11.0.zip
    • opencv_contrib 4.11.0: https://github.com/opencv/opencv_contrib/archive/refs/tags/4.11.0.zip
  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\ippicv 或 opencv-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模块。