OpenCV_CUDA_VS编译安装

一、OpenCV

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

Release OpenCV 4.5.4 · opencv/opencv · GitHub

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

扩展包:

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

二、cmake

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

Index of /files/v3.22

三、Cuda

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

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

四、cudnn

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

CUDA Deep Neural Network (cuDNN) | NVIDIA Developer

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

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

英伟达驱动教程:windows10+nvidia驱动+cuda10.1+cudnn安装教程_Bubble_water的博客-CSDN博客 

五、cmake编译

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

然后点击configure。 

添加扩展包的路径。

cuda的全部选上。 

这里的test我们不需要。 

然后再次点击configure。 

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

nonfree也要勾选上。

 然后Generate

六、VS编译

然后用vs打开下面的工程 

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

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

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

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

七、VS配置OpenCV

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

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

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

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

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

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博客

OpenCV4_CUDA资源下载:OpenCV4-CUDA资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/109545.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ora.ai:基于GPT4的自定义AI聊天机器人平台

【产品介绍】​ 名称​ ora.ai​ 具体描述​ ora.ai是一个让你在几分钟内创建自定义AI聊天机器人的网站,你可以在ora.ai上使用超过35万个由用户创建的AI人物,探索、混合和互动。你可以轻松地生成视觉效果,比如你最喜欢的城市的图…

JavaScript中的Generator函数及其使用方式

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ Generator函数⭐ 创建Generator函数⭐ 调用Generator函数⭐ Generator函数的应用1. 异步编程2. 生成器(Generator) ⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧…

14. 线性代数 - 线性方程组

文章目录 线性方程组矩阵行列式全排列和逆序数N阶行列式(非)齐次线性方程Hi,大家好。我是茶桁。 结束了「微积分」部分的学习之后我们稍作休整,今天正式开始另外一部分:「线性代数」的学习。小伙伴们放松完回来要开始紧张起来了。 我们之前说过,不管是哪一个工程学科,根…

pytorch安装(windows)

1. torch 简介 torch总共分为两个版本,GPU版和CPU版,CPU版安装非常简单,直接pip install 安装即可,在此详细介绍 GPU 版的安装方式。 GPU 版安装需要注意以下几个地方,需要进行匹配才能安装上,否则即便安…

HTTP协议的基本概念与理解!

一、什么是HTTP协议 HTTP(超文本传输协议)是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷…

wait函数() waitpid函数()

wait函数 /*#include <sys/types.h>#include <sys/wait.h>pid_t wait(int *wstatus);功能&#xff1a;等待任意一个子进程结束&#xff0c;如果子进程结束或者中断了&#xff0c;那么就回收他的资源参数&#xff1a; wstatus进程退出时的状态信息&#xff0c;传入…

5.docker可视化工具(Portainer)

本文操作&#xff0c;在 192.168.204.102 机器执行 安装最新版 portainer&#xff0c;请使用 portainer/portainer-ce 镜像。图片来源&#xff1a;https://hub.docker.com/r/portainer/portainer。   来这里可查看最新版本&#xff1a;https://github.com/portainer/p…

面试官:我们深入聊聊Java虚拟机吧

哈喽&#xff01;大家好&#xff0c;我是奇哥&#xff0c;一位专门给面试官添堵的职业面试员 文章持续更新&#xff0c;可以微信搜索【小奇JAVA面试】第一时间阅读&#xff0c;回复【资料】更有我为大家准备的福利哟&#xff01; 文章目录 前言面试Java虚拟机内存模型垃圾收集器…

nowcoder NC30 缺失的第一个正整数

目录 题目描述&#xff1a; 分析&#xff1a; 完整代码&#xff1a; 题目链接&#xff1a; https://www.nowcoder.com/share/jump/819478881694767416272 题目描述&#xff1a; 给定一个无重复元素的整数数组nums&#xff0c;请你找出其中没有出现的最小的正整数 进阶&am…

vueshowpdf 移动端pdf文件预览

1、安装 npm install vueshowpdf -S2、参数 属性说明类型默认值v-model是否显示pdf--pdfurlpdf的文件地址String- scale 默认放大倍数 Number1.2 minscale 最小放大倍数 Number0.8 maxscale 最大放大倍数 Number2 3、事件 名称说明回调参数closepdf pdf关闭事件-pdferr文…

Feign远程接口调用

概述 目的&#xff1a;解决微服务调用问题。如何从微服务A调用微服务B提供的接口。 特性&#xff1a; 声明式语法&#xff0c;简化接口调用代码开发。像调用本地方法一样调用其他微服务中的接口。集成了Eureka服务发现&#xff0c;可以从注册中心中发现微服务。集成了Spring…

ZTMap是如何在相关政策引导下让建筑更加智慧化的?

近几年随着智慧楼宇概念的深入&#xff0c;尤其是在“十四五规划”“新基建”“数字经济”等相关战略和政策的引导下&#xff0c;智慧楼宇也迎来了快速发展期&#xff0c;对推动智慧城市系统的建设越来越重要。那么究竟什么是智慧楼宇呢&#xff1f;智慧楼宇其实就是整合楼宇内…