专栏中心

EEPW首页 > 专栏 > OpenCV配置CUDA以支持GPU加速

OpenCV配置CUDA以支持GPU加速

发布人:计算机视觉工坊 时间:2023-01-19 来源:工程师 发布文章

一、环境准备


  1. 查看电脑NVIDIA的CUDA版本号,下载对应版本CUDA Toolkit(当前使用11.1版本)(具体需不需要下载和自己电脑cuda相同版本的还有待查证)
  2. cmake3.17.2(最高只支持到vs2019版)
  3. visual studio 2019
  4. opencv源代码(当前使用opencv 4.6.0版本)
  5. opencv_contrib(当前使用4.6.0版本)

以上相应下载链接及软件会放在资料里。CUDA精简安装教程请关注补充内容

二、使用cmake “make”


1、打开cmake(cmake-gui),第一个源代码路径选择刚刚下载的opencv源代码路径,路径需要选择到sources
第二个编译输出路径,可在opencv文件夹下创建一个新的文件夹,用于存放编译输出的文件,这里创建为newbuild。
图片之后点configure进行第一次配置,弹出窗口第一个选择visual studio 16 2019,第二个选择x64,其余保持默认,点击finish,等待配置完成后不出意外会有3个错误和警告,需要重点关注,这些错误会影响到后面的编译。
图片我的错误为
(1)跟python2.7相关的错误,可忽略
图片(2)FFMPEG的相关文件下载失败,这里需要自己从自己选择的编译输出路径中找到 CMakeDownloadLog.txt 打开(我的路径为H:\opencv_pasks\opencv\newbuild\CMakeDownloadLog.txt),里面提供了FFMPEG相关文件的链接地址,下载即可。最后我们统一放入相关文件夹内(所以这里只需先下载下来,暂不用放入任何文件夹内)
图片(3)这里只是个 warning 不是 error ,可忽略
图片(当然有的人可能还会有和 ippicv 相关的错误,和 ffmpeg 同理,找到对应的文件链接下载即可)
2、勾选相应配置
(1)在 search 搜索框里搜索 cuda,勾选 OPENCV_DNN_CUDA 和 WITH_CUDA 两个选项
图片(2)搜索 example,勾选 BUILD_EXAMPLES 和 INSTALL_PYTHON_EXAMPLES(这一步可不用)
图片(3)搜索 non,勾选OPENCV_ENABLE_NONFREE
图片(4)搜索 mod,OPENCV_EXTRA_MODULES_PATH 选择刚刚下载的 opencv_contrib 路径,需要到 modules 文件夹下(我的为H:/opencv_pasks/opencv_contrib-4.6.0/modules, 注意这里是正斜杠而不是反斜杠)
以上完成之后再次点击 configure 进行第二次配置,等待配置完成后可继续下一步。
图片这里不出意外会多出几个红色的错误警告
例如:wechat_qrcode、xfeatures2d、face相关等,基本都是因为下载不到文件引起,需要自己手动下载
(5)搜索 cudnn,勾选 WITH_CUDNN(我的默认已经勾选)
图片(6)搜索 cubla,勾选WITH_CUBLAS(我的默认已经勾选)(7)搜索 cuda_ar,在CUDA_ARCH_BIN填入自己的显卡gpu算力,不知道的可进入****查询,我的为6.1。
(显卡gpu算力查询****见资料)
(8)搜索 fast,勾选CUDA_FAST_MATH 和 ENABLE_FAST_MAT(9)搜索 type,将CMAKE_CONFIGURATION_TYPES的DEBUG删除,只保留Release(10)搜索 world,勾选BUILD_opencv_world完成上述后再次点击 configure 进行第三次配置,等待配置完成后,这时我们需要放入刚刚所说的一些下载错误的缺失文件。    在源码目录下的 .cache 文件夹内(我的路径为 H:\opencv_pasks\opencv\sources.cache)放入刚刚下载的相应文件,需要放入到对应的文件夹下,并且文件名需要和自己目录下生成的 0k 文件名相对应,不对应的需要修改成对应的,然后将其替换。(不会的可以参考我的 .ceche 目录,同时如果有文件下载不了的可以使用我文件里的)    替换完刚刚出错的所有文件后,回到 cmake,点击 Generate 会生成一个vs2019的c++工程,之后点击 open Project 打开工程。    在 vs2019 上方选择 Release,之后点右边的 CmakeTargets-ALL_BUILD,右键生成,等待生成完成,过程大约一小时到两小时,根据自己电脑的 cpu 而定。生成完会出现0错误、0跳过,全是成功的,之后还是同样在 ALL_BUILD 下方的 INSTALL,同样右键生成,过程大约几分钟,等待生成完成即可。

三、配置环境变量

此电脑右键-属性-高级系统设置-高级-环境变量
在上方的用户变量中新建两个变量
图片在下方的系统变量-Path中新建三个变量,配置完后确定即可
图片

四、测试

在代码中,需要对net类进行两处修改
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)
之后运行即可支持GPU加速。来源: 小半仙IoT


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: AI

相关推荐

Nigel AI赋能LabVIEW,NI用AI重塑测试新边界

2026-05-22

GPU:面临工作负载转变的高吞吐架构

AI热潮引发多层陶瓷电容MLCC供应短缺

尼吉康的事业介绍

视频 2025-07-25

PowiGaN for AI Data Centers: Unmatched Power Density and Reliability

视频 2025-12-19

赋能边缘端对话式人工智能

基于Microchip MCU的AI/ML培训教程3

视频 2025-11-12

电子元件培训教材

紧凑型集成连接器模块抑制噪声 为人工智能应用实现以太网供电

EEPW2018年6月刊(5G)

资源下载 2018-06-11

研华 COMPUTEX 首度整合全球伙伴大会 强化全球边缘 AI 生态系统联结

CSR8670CSR8675智能语音Alexa蓝牙方案开发

资源下载 2017-12-14

基于Microchip MCU的AI/ML培训教程2

视频 2025-11-12

英伟达CFO:我们早就知道内存大涨价要来了

2026-05-24

AI 驱动估值飙升:光通信半导体企业市值暴涨

基于Microchip MCU的AI/ML培训教程1

视频 2025-11-12

EEPW2018年3月刊(工业物联网)

AI竞争进入下半场:从“卷参数”到“卷单价”

2026-05-22

爱立信携手 Net Feasa 布局海事网络 融合公网级通信与智能体 AI 赋能航运

更多 培训课堂
更多 焦点
更多 视频

技术专区