openCV的CUDA GPU 版本安装 (Ubuntu windows 通用)

需要做template match, 比较注重时间,因此opencv 的普通版本不适用。需要用GPU 的。

下载

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

确保准备好以下内容

1: visual studio (不是vs code)

2:下载后的两个包裹会放在以下结构

这样放的原因是我Ubuntu的Home容量不够多,导致我需要把这些东西放在另一个盘上,其次是这样安装比较干净。
需要自己额外添加 buildinstall 两个 folders

安装要用的conda 环境(optional)

conda create --name detection python=3.9
pip install numpy
conda install -c conda-forge cudatoolkit=11.8 cudnn

Cmake 里需要更改的选项

  • 填完以下的两个框后
  • 就点configure, 这样它就去找opencv那个folder的对应cmake文件,把需要的信息列表显示出来
    在这里插入图片描述3. 以下是要修改的项目(在search里输入以下内容寻找并打勾,不确定的都打上就行)
  • Fast_math
  • CuDA related(with cuda, opencv_dnn_cuda)
  • opencv world
  • extra
  • python 3
  • prefix
  • config_ 删了只剩下release

以下是Python3相关会填入的内容

Ubuntu 版本

/media/xxx/cozynest/anaconda3/envs/detection/bin/python
/media/xxx/cozynest/anaconda3/envs/detection/include/python3.9
/media/xxx/cozynest/anaconda3/envs/detection/lib/libpython3.9.so
/media/xxx/cozynest/anaconda3/envs/detection/lib/python3.9/site-packages/numpy/core/include/numpy
/media/xxx/cozynest/anaconda3/envs/detection/lib/python3.9/site-packages

Windows 版本

F:/build_opencv/install
F:/build_opencv/opencv_contrib/modules
F:/anaconda3/envs/detection/python.exe
F:/anaconda3/envs/detection/include
F:/anaconda3/envs/detection/libs/python3.lib
F:/anaconda3/envs/detection/Lib/site-packages/numpy/core/include
F:/anaconda3/envs/detection/Lib/site-packages
  1. 然后点 configure,继续添加CUDA 的信息,直到在opencv 那一个部分里,Python3 不再出现在 unavailable
  2. 最后才是generate

安装cmake后的包裹

在命令行:
用detection的环境打开

nproc
make -j24

比如我有24 cores
这一步比较时间长
最后得到:
Linking CXX shared module …/…/lib/python3/cv2.cpython-39-x86_64-linux-gnu.so

 sudo make install

例子:/media/xxx/cozynest/anaconda3/envs/detection/lib/python3.9/site-packages/cv2/python-3.10

推荐用anaconda的terminal:

cmake --build "F:\build_opencv\build" --target INSTALL --config Release

以下是最终的成品

在这里插入图片描述

测试

conda 同一个 环境打开terminal:

python
import cv2
cv2.cuda.getCudaEnabledDeviceCount()

如果安装成功就会返回 1

注意

install 这个文件夹不能删!!!所有的conda和 GPU opencv 的联系都靠它

报错

config files not found

这里有可能会出现configure的文件找不到的错误,可以直接copy paste Python 版本的文件,根据缺失文件的名字添加。
上面图片中 config.py, config-3.pyconfig-3.9.py 都是手动制作的。

debug 模式 报错: `GLIBCXX_3.4.30’ not found 没装

在 conda的环境下的terminal输入:

conda install -c conda-forge libstdcxx-ng

4090的GPU 测试:
使用普通的python-opencv template match 耗时0.089秒。
GPU 版本:0.0065秒
快了13.69倍

Oh YEAH, case sealed

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

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

相关文章

硬件信息查看工具 EtreCheckpro mac中文版功能介绍

etrecheckpro mac中文版是一款专业的硬件信息查看工具,它能够快速的检测Mac电脑的软硬件信息,加强用户对自己计算机的了解,EtreCheckPro for Mac下载首先会对电脑的软硬件信息进行扫描收集,之后才会显示出来。EtreCheck Mac版报告…

顶级玩家:一招搞定 App 自动化老大难问题

很多人在学习 App 自动化或者在项目中落地实践 App 自动化时,会发现编写的自动化脚本无缘无故的执行失败、不稳定。 而导致其问题很大原因是因为应用的各种弹窗(升级弹窗、使用过程提示弹窗、评价弹窗等等),比如这样的&#xff1a…

汽车屏类产品(二):360全景环视(SVC)、多分割显示、行车记录

前言 随着新能源汽车的快速发展,带动了车载器件的大发展,大的比如域控,小的创新更是不断涌现。而车载显示屏可以说是一大类产品,产品形态也是愈发多样化,比如:仪表cluster、中控IVI、副驾屏、行车记录仪、流媒体后视镜、透明A柱屏、方向盘屏(替代方向盘按键)、门饰板显…

在mybatis的xml中使用枚举来做判断条件

1.枚举类 import com.baomidou.mybatisplus.annotation.IEnum; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import com.shinkeer.common.utils.StringUtils;import java.util.HashMap; import java.util.Map;…

服务器数据恢复-raid0硬盘故障导致服务器崩溃的数据恢复案例

服务器故障&分析: 某公司一台服务器,共2块磁盘组建了一组raid0磁盘阵列。RAID0阵列中有1块硬盘出现故障离线,导致服务器崩溃。 通过和用户方的沟通,北亚企安数据恢复工程师初步判断:故障服务器中出现故障离线的硬盘…

账号合租平台源码Thinkphp6.1|内置详细搭建教程

小白账号合租平台说明 系统采用的是常见的租号平台模式,现在网络上流出的这种类型的源码还很少 平台介绍 1.租号模式,用户可自行选择单独租号或采用合租的模式。 2.支付,采用易支付通用接口 3.邀请返利,为了站长能更好推广推荐了邀请返利功能 4.用户提现功能 5.工单…

让你随时随地访问金蝶云星空企业版v8.0,内网穿透轻松实现远程办公!

文章目录 前言1. 金蝶云星空企业版v8.0安装下载1.1 登录金蝶官网下载安装包1.2 常见的安装下载问题 2. 金蝶云星空配置SQL Sever数据库2.1 创建数据管理中心2.2 创建完成后在服务器登录管理站点 3. 下载安装注册cpolar3.1 公网访问测试 4. 固定连接公网地址 前言 金蝶云星空专注…

光环云入选“北京市算力互联互通试点参与企业”!

为进一步贯彻落实工业和信息化部等六部委联合印发的《算力基础设施高质量发展行动计划》,扩大北京市算力互联互通试点参与范围,助力建设全球数字经济标杆城市,北京市通信管理局组织相关专家对申报第二批参与试点企业开展评估,光环…

云HIS系统,Cloud HIS system,云HIS医院信息管理系统源码

通过云HIS平台,可以减少医院投资,无需自建机房和系统,快速实现信息化服务。系统升级及日常维护服务有云平台提供,无需配备专业IT维护人员进行系统维护。 一、his系统和云his系统的区别 His系统和云his系统是两种不同的计算平台,它们在技术架构上存在很大的差异。下…

HypeX Labs:充分释放加密资产的潜力

加密货币通常被视为是资产类别或投资工具,不过其代表了一种全新的意识形态,且与传统资产有着完全不同的底层价值逻辑,所以它们不仅可以被视为一种资产类别或投资工具,在大多数情况下可以被视为一种基于技术的实现。因此我们可以认…

1024程序员狂欢节有好礼 | 前沿技术、人工智能、集成电路科学与芯片技术、新一代信息与通信技术、网络空间安全技术

🌹欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流 1024程序员狂欢节有好礼 🚩🚩🚩点击直达福利前言一、IT技术 IT Technology《速学Linux:系统应用从入门到精通》《Pytho…

k8s-----10、Controller-Deployment

Controller-Deployment 1、什么是controller2、 pod和controller关系3、Deployment控制器应用场景3.1 部署时yaml文件书写3.2 实际部署应用3.3 升级回滚3.3.1 升级3.3.2 回滚 3.4 弹性伸缩 1、什么是controller 在集群上管理和运行容器的对象 2、 pod和controller关系 pod是…

PHP代码审计工具

PHP代码审计工具 1 环境准备 Seay源代码审计系统.exe 和准备靶场的源码php 2 Seay下载地址 https://github.com/f1tz/cnseay安装Seay源代码审计系统.exe报错时,安装.net framework 3.5 # windows插件.net framework 3.5 下砸地址 https://www.microsoft.com/en…

Linux 后台开发必知的 I/O 优化知识总结

IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到IO。而IO性能的发展,明显落后于CPU的发展。Memchached也好,NoSql也好,这些…

Python脚本:让工作自动化起来

Python是一种流行的编程语言,以其简洁和易读性而闻名。它提供了大量的库和模块,使其成为自动化各种任务的绝佳选择。 本文将探讨Python脚本及其代码,可以帮助您自动化各种任务并提高工作效率。无论您是开发人员、数据分析师还是只是想简化工…

进程(0)——计算机的中的软硬件【Linux】

进程(0)——计算机的中的软硬件【Linux】 一.硬件:1.1 冯诺依曼结构:1.2 存储金字塔1.2.1输入设备和存储器:1.2.2输出设备和存储器: 二.软件:2.1 操作系统2.1.1 如何理解管理: 博主自…

Python深度学习实战-基于tensorflow.keras六步法搭建神经网络(附源码和实现效果)

实现功能 第一步:import tensorflow as tf:导入模块 第二步:制定输入网络的训练集和测试集 第三步:tf.keras.models.Sequential():搭建网络结构 第四步:model.compile():配置训练方法 第五…

Java程序设计2023-第四次上机练习

8-1三子棋 编写程序,实现简单的三子棋游戏。在三子棋中,双方在33的棋盘中轮流下棋,一方用*示,另一方用O表示。如果一方的3个棋子占据了同一行,同一列或者对角线,则该方获胜。如果棋盘已被棋子占满&#xf…

垃圾邮件(短信)分类算法实现 机器学习 深度学习 计算机竞赛

文章目录 0 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 垃圾邮件(短信)分类算…

【论文复现】基于多模态深度学习方法的单细胞多组学数据聚类(【生物信息学】实验二:多组学数据融合:scMDC)

目录 一、实验介绍 1. 论文:基于多模态深度学习方法的单细胞多组学数据聚类 Abstract 2. Github链接 二、实验环境 0. 作者要求 1. 环境复现 实验一 实验二(本实验) 2. 库版本介绍 实验一 实验二 3. IDE 三、实验内容 1. 用法…