OpenCV_CUDA_VS编译安装

一、OpenCV

我这里是下载的OpenCV4.5.4,但是不知道到在vs里面build时一直报错,后面换了4.7.0的版本测试,安装成功。

Release OpenCV 4.5.4 · opencv/opencv · GitHub

OpenCV_CUDA_VS编译安装_第1张图片

这个里面有官方预编译好的OpenCV库,可以直接食用。

扩展包:

https://github.com/opencv/opencv_contrib/releases/tag/4.5.4

OpenCV_CUDA_VS编译安装_第2张图片

二、cmake

这里cmake版本要求应该不是很高,20以上的版本的都行。

Index of /files/v3.22

OpenCV_CUDA_VS编译安装_第3张图片

三、Cuda

OpenCV_CUDA_VS编译安装_第4张图片

cuda版本比这里的版本低应该就行了。具体的的操作可以参考下面的一篇博文。 

https://developer.nvidia.com/cuda-toolkit-archive

OpenCV_CUDA_VS编译安装_第5张图片

OpenCV_CUDA_VS编译安装_第6张图片

四、cudnn

cudann的版本一定要与cuda的版本相对于,我这里就是应该这个原因,导致cmake生产的时候的要报错,他这里写的CUDA 12x,貌似不是对于12的任意版本。一定要明确和自己的版本对上。

CUDA Deep Neural Network (cuDNN) | NVIDIA Developer

OpenCV_CUDA_VS编译安装_第7张图片

OpenCV_CUDA_VS编译安装_第8张图片

这里才是下的正确的版本的8.8.0. 

OpenCV_CUDA_VS编译安装_第9张图片

默认安装目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0。这个后面要用。

OpenCV_CUDA_VS编译安装_第10张图片

OpenCV_CUDA_VS编译安装_第11张图片

OpenCV_CUDA_VS编译安装_第12张图片英伟达驱动教程:windows10+nvidia驱动+cuda10.1+cudnn安装教程_Bubble_water的博客-CSDN博客 

五、cmake编译

建议如果可以的话,记得把梯子打开,不然很多东西下载不了,需要自己去下载。

OpenCV_CUDA_VS编译安装_第13张图片

然后点击configure。 

添加扩展包的路径。

OpenCV_CUDA_VS编译安装_第14张图片

cuda的全部选上。 

OpenCV_CUDA_VS编译安装_第15张图片

这里的test我们不需要。 

OpenCV_CUDA_VS编译安装_第16张图片

然后再次点击configure。 

勾选上CUDA_FAST_MATH,通过CUDA_ARCH_BIN设置我们显卡的最高算力,可以在官网查看。

OpenCV_CUDA_VS编译安装_第17张图片

nonfree也要勾选上。

OpenCV_CUDA_VS编译安装_第18张图片 然后GenerateOpenCV_CUDA_VS编译安装_第19张图片

六、VS编译

然后用vs打开下面的工程 

OpenCV_CUDA_VS编译安装_第20张图片

OpenCV_CUDA_VS编译安装_第21张图片

点击ALL_BUILD,进行编译,第一次可能需要一两个小时的时间。

OpenCV_CUDA_VS编译安装_第22张图片

OpenCV_CUDA_VS编译安装_第23张图片

OpenCV_CUDA_VS编译安装_第24张图片

 编译成功后,就可以点的install进行安装了,几分钟的时间就解决了。

OpenCV_CUDA_VS编译安装_第25张图片

OpenCV_CUDA_VS编译安装_第26张图片

安装成功后是在cmake刚刚配置的路径下的install目录下的。 

OpenCV_CUDA_VS编译安装_第27张图片

然后需要将bin目录加到系统的环境变量PATH里,方便程序在运行时能够找到对应的动态库。

OpenCV_CUDA_VS编译安装_第28张图片

七、VS配置OpenCV

这里需要添加项目属性表,记得它的位置,下次直接添加就行了,不然每次都要配置opencv的路径和库文件。

OpenCV_CUDA_VS编译安装_第29张图片

OpenCV_CUDA_VS编译安装_第30张图片

 包含目录里面配置opencv的头文件路径。

OpenCV_CUDA_VS编译安装_第31张图片

OpenCV_CUDA_VS编译安装_第32张图片

库目录这里配置opencv的库文件路径。 

OpenCV_CUDA_VS编译安装_第33张图片

OpenCV_CUDA_VS编译安装_第34张图片

然后还要添加依赖项也就是每个库的名称,这里用python写了一个脚本用来读取文件名。 

OpenCV_CUDA_VS编译安装_第35张图片

OpenCV_CUDA_VS编译安装_第36张图片

生产目录下文件名的脚步:

import os
# readInfo函数,根据文件夹路径读取文件夹下所有文件名
def readInfo():
    filePath = r'F:\cv\opencv-4.7.0\cuda\install\x64\vc17\lib'
    name = os.listdir(filePath)         # os.listdir方法返回一个列表对象
    return name

# 程序入口
if __name__ == "__main__":
    fileList = readInfo()       # 读取文件夹下所有的文件名,返回一个列表
    print(fileList)
    file = open('train.txt', 'w')   # 创建文件,权限为写入
    for i in fileList:
        rowInfo = i + '\n'
        print(rowInfo)
        file.write(rowInfo)

八、运行测试

yolov5_dnn_cuda

这里是运行cuda 的yolov5保的错误。

报错:Could not locate zlibwapi.dll. Please make sure it is in your library path

解决办法:深度学习-解决Could not locate zlibwapi.dll. Please make sure it is in your library path_Elan韩的博客-CSDN博客

 资源下载:Could not locate zlibwapi.dll. Please make sure it is in your library path_一休哥※的博客-CSDN博客

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