openCV Cuda

news2024/12/19 9:28:26

下载

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 的联系都靠它

报错

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

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

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

相关文章

Java EE-使用Servlet搭建一个简单的前后端交互程序

上述前端和后端的代码如下&#xff1a; 前端&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"vie…

数据库笔记——SQL语言DQL语句

schema等于database 数据库 datagrip中使用控制台进行操作&#xff1a; 右键new QueryConsole 创建表格create table中&#xff1a; 1. 括号内不管是定义属性还是声明约束&#xff0c;都使用逗号分隔&#xff0c;最后一句不用逗号 2. 括号外使用分号 DDL&#xff1a;数据库定…

python接口自动化测试(单元测试方法)

一、环境搭建 python unittest requests实现http请求的接口自动化Python的优势&#xff1a;语法简洁优美, 功能强大, 标准库跟第三方库灰常强大&#xff0c;建议大家事先了解一下Python的基础;unittest是python的标准测试库&#xff0c;相比于其他测试框架是python目前使用最广…

思辨:移动开发的未来在哪?

前段时间在知乎看到关于移动开发未来的问题&#xff0c;就尝试回答了一下&#xff0c;也触发了我对移动开发未来的思考。 移动开发未来怎么样? - 知乎 https://www.zhihu.com/question/613842211 什么是移动开发&#xff1f; 我们口中说的移动开发是什么&#xff0c;从广义和…

项目管理实战总结(二)-沟通路径

在一个大型的项目管理中&#xff0c;不同的沟通路径&#xff0c;会对整个事情的进展形成不同的影响。从项目管理的视角来看&#xff0c;该如何驱动项目有效进展&#xff0c;失之毫厘谬以千里。 沟通路径&#xff1a;调查问卷的推动事宜 在项目进行到了后期&#xff0c;甲方希…

项目管理实战总结(一)

前言 主动申请参与到这个项目&#xff0c;是非常清楚工作强度大、难度大的情况的&#xff0c;明知山有虎偏向虎山行。我确信通过这个项目&#xff0c;一定有我需要的东西。目前项目已经完成了终验的专家评审&#xff0c;进入到运维阶段。对于个人而言&#xff0c;如果记忆中只…

全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 自动化测试——测…

C++迭代器失效

在STL中&#xff0c;有些操作会导致迭代器失效&#xff0c;即之前获取的迭代器无法再安全地使用。这是因为这些操作可能会改变容器的结构&#xff0c;例如插入、删除元素等。 具体来说&#xff0c;以下情况下迭代器会失效&#xff1a; 1. 当插入或删除元素导致容器中的内存重新…

Go并发可视化解释 - sync.WaitGroup

场景 Avito是一名校车司机&#xff0c;他帮助4个Gopher孩子上学。每天&#xff0c;Avito在他们的社区等待孩子们。他不知道孩子们需要多长时间&#xff0c;但他确切地知道有4个孩子他需要等待。 1*aZnEggopv4Tsbyyj3e5JFg.png 当一个孩子准备好时&#xff0c;他/她会说&#xf…

跨境干货 | 如何搭建自己的独立站?

很多跨境电商在第三方平台经营许久后&#xff0c;会想摆脱第三方规则的限制建立起自己的品牌。 对于新手来说建立独立站是很有挑战的&#xff0c;建立独立站前首先我们需要了解一下什么是独立站&#xff1f;从字面意思来理解就是拥有属于自己的网站自己搭建跨境独立站&#xff…

【Python语言速回顾】——基础语法

目录 引入 一、PEP8代码规范和风格 二、变量和数据 1、变量 2、运算符 三、三种程序结构 1、分支结构 2、循环结构 四、组合数据类型 1、列表&#xff08;list&#xff09; 2、元组&#xff08;tuple&#xff09; 3、字典&#xff08;dict&#xff09; 5、集合&…

Python学习基础笔记七十七——json序列化

客户端和服务端之间需要交换数据才能完成各种功能。 假设 服务端程序都是用Python语言开发的话&#xff0c;那么 服务端从数据库中获取的最近的交易列表&#xff0c;可能就是像下面这样的一个Python列表对象&#xff1a; historyTransactions [{time : 20170101070311, #…

LoadRunner录制脚本+编写脚本

LoadRunner安装* 为什么选择LoadRunner 1&#xff09;Jmeter没有录制功能 2&#xff09;可以设计非常非常丰富的测试场景 3&#xff09;LoadRunner能够产出非常丰富的测试报告 LoadRunner三大组件的关系 每个组件是干什么的 VUG&#xff1a;录制脚本&#xff0c;&#xff…

天梯赛:L1-005 考试座位号

每个 PAT 考生在参加考试时都会被分配两个座位号&#xff0c;一个是试机座位&#xff0c;一个是考试座位。正常情况下&#xff0c;考生在入场时先得到试机座位号码&#xff0c;入座进入试机状态后&#xff0c;系统会显示该考生的考试座位号码&#xff0c;考试时考生需要换到考试…

线程是如何进行创建的

对于任何一个进程来讲&#xff0c;即便我们没有主动去创建线程&#xff0c;进程也是默认有一个主线程的。线程是负责执行二进制指令的&#xff0c;它会根据项目执行计划书&#xff0c;一行一行执行下去。进程要比线程管的宽多了&#xff0c;除了执行指令之外&#xff0c;内存、…

局域网下多台windows电脑时间同步

windows时间同步 最近在项目中遇见了多台windows电脑的时间同步问题。在这个项目中&#xff0c;有五台电脑&#xff0c;五台电脑处于同一局域网下&#xff0c;其中有一台可以连接互联网&#xff08;A电脑&#xff09;。我需要将其他四台电脑&#xff08;B、C、D、E电脑&#xf…

在Word中,图片显示不全

在今天交作业的时候&#xff0c;发现了一个非常SB的事情&#xff0c;把图片复制过去显示不完全&#xff1a; 使用文心一言查看搜索了一下&#xff0c;发现可能是以下几种原因&#xff1a; 图片所在行的行高设置不正确。可以重新设置行高&#xff0c;具体步骤包括打开图片显示…

【Java基础面试三十八】、请介绍Java的异常接口

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;请介绍Java的异常接口 …

LabVIEW中PID控制的的高级功能

LabVIEW中PID控制的的高级功能 比例-积分-微分&#xff08;PID&#xff09;控制占当今控制和自动化应用的90%以上&#xff0c;主要是因为它是一种有效且简单的解决方案。虽然PID算法最初用于线性、时不变系统&#xff0c;但现在已经发展到控制具有复杂动力学的系统。在现实世界…

git_笔记

git 学习视频 【【狂神说Java】Git最新教程通俗易懂】 https://www.bilibili.com/video/BV1FE411P7B3/?p10&share_sourcecopy_web&vd_source271b4386fd06dbbfd6504cf65bb85f31 git的下载与安装 git官网&#xff1a; https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%…