opencv编译问题(NVIDIA cuda安装和cudNN)

因项目需要,需要编译一个带cuda版本opencv的库,碰到的问题如下汇总:

  • 驱动安装

我的设备时NVIDIA GeForce RTX 4060Ti
官网选择显卡驱动https://www.nvidia.cn/drivers/lookup/
opencv编译问题(NVIDIA cuda安装和cudNN)_第1张图片
我这边安装的时560.94版本
在这里插入图片描述
安装之后:opencv编译问题(NVIDIA cuda安装和cudNN)_第2张图片
opencv编译问题(NVIDIA cuda安装和cudNN)_第3张图片

  • cuda安装
    安装cuda:是一个由NVIDIA开发的并行计算平台和编程模型
    cuda版本获取:https://developer.nvidia.com/cuda-toolkit-archive
    应为我的是12.6.65的设备,所以选择cuda_12.6.0_560.76_windows.exe的cuda安装
    opencv编译问题(NVIDIA cuda安装和cudNN)_第4张图片
    opencv编译问题(NVIDIA cuda安装和cudNN)_第5张图片
  • cuDnn安装
    安装cudDnn:cuDNN是一个GPU加速的深度学习库
    下载地址:https://developer.nvidia.com/rdp/cudnn-archive
    选择for cuda 12.x的,应为我的cuda版本就是12.6

这里我一开始选择的是for cuda11.x,后面再程序运行的时候会出现一个问题,一直找不到cublasLt64_11.dll,cublas64_11.dll这两个文件
很奇怪为什么我使用的是cuda12需要找11,原来是这里使用了for cuda11的dudnn,解决方案就是把cublasLt64_12.dll,cublas64_12.dll 复制一份出来改为 cublasLt64_11.dll,cublas64_11.dll 就可以解决。当然最好使用for cuda12.x

cudnn-windows-x86_64-8.9.0.131_cuda11-archive下载的文件
opencv编译问题(NVIDIA cuda安装和cudNN)_第6张图片
下载完成后,是一个文件夹,将文件夹下的全部复制到这个路径下
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6

  • opecv4.10编译
    opencv源码+contrib下载4.10版本
    参考这个链接编译,我碰到的问题是一开始使用opencv4.8编译的,结果使用vs编译的时候一直报错误,Error: no instance of overloaded function “cv::cudev::blockReduce” matches the argument list
    以为是配置问题各种找原因之后才发向是版本问题

opencv编译问题(NVIDIA cuda安装和cudNN)_第7张图片
opencv编译问题(NVIDIA cuda安装和cudNN)_第8张图片
编译过程参考https://blog.csdn.net/m0_58326153/article/details/142333462

编译遇到的问题:
vs编译OpenCV 4.7.0 无法解析的外部符号 cv::xfeatures2d::VGG::getDefaultName
解决方法参考
https://blog.csdn.net/chan1987818/article/details/129991937?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-129991937-blog-129850364.235%5Ev43%5Econtrol&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-129991937-blog-129850364.235%5Ev43%5Econtrol&utm_relevant_index=10

你可能感兴趣的:(opencv,人工智能,计算机视觉)