win10+VS2019+CUDA10.2编译gpu加速版本的opencv4.4.0

本文详细描述了如何在VS2019环境下配置OpenCV 4.4.0,包括处理CUDNN、FFMPEG、IPPICV第三方库下载错误,以及CUDA模块的编译设置。步骤涉及CMake配置、手动下载与重命名文件,确保所有依赖正确安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境搭建

VS 2019
CUDA 10.2
CUDNN
Cmake 3.18.1
OpenCV 4.4.0
opencv-contribe 4.4.0

编译步骤

1、打开Cmake,选择opencv4.4.0源码路径,选择编译完成之后的保存路径,选择VS版本。
在这里插入图片描述
2、等待configure完成之后,可能会出现下载的错误,具体就是xfeatures2dFFMPEGIPPICV的下载错误,如图:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
因为下载的原因导致这些错误,因此可以手动下载这些第三方库,对应的网址可在每个第三方库所在文件夹中的cmake文件中找到,cmake文件的位置具体查看错误的信息。

【FFMPEG下载】
根据错误中的提示:
在这里插入图片描述
打开D:/OpenCV4.4.0/sources/3rdparty/ffmpeg/ffmpeg.cmake文件,找到其中的下载网址信息:
在这里插入图片描述
继续找到网址信息中的${FFMPEG_BINARIES_COMMIT}值:
在这里插入图片描述
继续找到要下载的文件的名称,一共要下载三个,两个dll一个cmake:
在这里插入图片描述
所以,最后拼接以下,最终的下载地址为:
https://raw.githubusercontent.com/opencv/opencv_3rdparty/1df9bf0c0c6c2cf225bd3d8e4cf5985198352454/ffmpeg/opencv_videoio_ffmpeg.dll
https://raw.githubusercontent.com/opencv/opencv_3rdparty/1df9bf0c0c6c2cf225bd3d8e4cf5985198352454/ffmpeg/opencv_videoio_ffmpeg_64.dll
https://raw.githubusercontent.com/opencv/opencv_3rdparty/1df9bf0c0c6c2cf225bd3d8e4cf5985198352454/ffmpeg/ffmpeg_version.cmake

下载好之后,在ffmpeg.cmake文件中,找到对应的HASH对应的值:
在这里插入图片描述
根据该值,将下载的文件进行重命名,得到:
854b3460c435d04277e1f1ecc06cb809-opencv_videoio_ffmpeg.dll
3a46d6356220796e044817ae3a21cc31-opencv_videoio_ffmpeg_64.dll
ad57c038ba34b868277ccbe6dd0f9602-ffmpeg_version.cmake

将这些文件拷贝到D:\OpenCV4.4.0\sources\.cache\ffmpeg下:
在这里插入图片描述
【IPPICV下载】
用同样的方法找到IPPICV的下载地址:
根据错误中的提示:
在这里插入图片描述
打开D:/OpenCV4.4.0/sources/3rdparty/ippicv/ippicv.cmake文件,找到其中的下载网址信息:
在这里插入图片描述
继续找到网址信息中的${IPPICV_COMMIT}值:
在这里插入图片描述
继续找到要下载的zip包的名称:
在这里插入图片描述
所以,最后拼接以下,最终的下载地址为:
https://raw.githubusercontent.com/opencv/opencv_3rdparty/a56b6ac6f030c312b2dce17430eef13aed9af274/ippicv/ippicv_2020_win_intel64_20191018_general.zip

下载好之后,在ippicv.cmake文件中,找到OPENCV_ICV_HASH对应的值:
在这里插入图片描述
根据该值,将下载的zip包的文件进行重命名,得到:
879741a7946b814455eee6c6ffde2984-ippicv_2020_win_intel64_20191018_general.zip
将该文件拷贝到D:\OpenCV4.4.0\sources\.cache\ippicv下:
在这里插入图片描述
【xfeatures2d中缺失的.i文件下载】
根据错误中的提示,发现要下载的都是这些.i文件,一共要下载11个,所以xfeatures2d有11个错误:
在这里插入图片描述
在这里插入图片描述
直接下载这些文件就行了,下载地址:
链接:https://pan.baidu.com/s/1Vdfn2ogtaYad_93mGVM7Ww
提取码:vynm
在这里插入图片描述
下载完之后把这些文件放入./opencv_contrib-4.4.0/modules/xfeatures2d/src文件夹下。

3、解决了上面的错误,接着继续,勾选如下选项:

(1)勾选BUILD_opencv_world
在这里插入图片描述
(2)

  • 勾选OPENCV_DNN_CUDA
  • OPENCV_EXTRA_MODULES_PATH中添加解压好的opencv_contrib-4.4.0中modules路径
    在这里插入图片描述

(3)勾选WITH_CUDA,点击Configure
在这里插入图片描述
(4)第二次configure完成之后,此时需要更改gpu的算力值,更改CUDA_ARCH_BIN,只留下一个值。然后勾选CUDA_FAST_MATH,点击Configure
在这里插入图片描述
(5)等待Configure完成之后,查看是否检测到了CUDAcuDNN,都出现YES之后,说明没有问题。如果没有检测到的话,需要确认是否CUDAcuDNN版本是否正确,否则后面的编译将不会编译CUDA模块。
在这里插入图片描述
再次确认:
在这里插入图片描述
点击Generate

4、显示 Generate Done,且没有错误的时候。

  • D:\OpenCV4.4.0\sources\modules\features2d文件夹复制到D:\OpenCV4.4.0\build-contrib440文件夹中,否则后面编译了好久之后会报错:无法打开"features2d/test/test_detectors_regression.impl.hpp",No such file or directory,报错之后就要重新编译太浪费时间了。
  • D:\OpenCV4.4.0\build-contrib440路径下,打开OpenCV.sln工程,在Release模式下,选中ALL_BUILD,右键生成,等待编译完成。 在这里插入图片描述
    在这里插入图片描述
    4、编译好了之后,右键INSTALL->生成
    在这里插入图片描述
    然后会在D:\OpenCV4.4.0\build-contrib440文件夹下生成install文件夹。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值