编译带CUDA的OPENCV源码流程记录

部署运行你感兴趣的模型镜像

  网上东查西查,自己还是倒腾了两天,记录一下,也给大家做个参考! 

 1.环境

  1. cuda:11.7(看自己英伟达控制面板里写的最大支持cuda)
  2. cudnn:8.9.2 一定要与cuda配套的,自己去查
  3. opencv:我用的4.9.0(4.5以上应该问题都不大)
  4. opencv-contrib:opencv-contrib-4.9(与opencv对应 )
  5. CMake:3.29.3(版本无所谓,官网下个最新的应该问题不大)
  6. vs2017/2019:只有2017/2019支持编译opencv_world,血泪的教训

cuda    cudnn    opencv  opencv-contrib 这些自行百度安装

主要是Cmake,cmake编译的没问题,vs也基本不会有问题

2.编译Opencv

1.cmake配置源路径和目标路径

2.选择dubug 或 release(这步可选,默认release)

        在opencv目录下,打开CMakeLists.txt,大概100来行

3.点击configure

        选vs2017 或 2019,平台一般就选x64,finish ,结束,显示这样

4. 勾选CUDA相关的

5.填写contrib 扩展模型路径

6.取消勾选 python,java,test,拿来没用

 

 7.勾选BUILD_opencv_world

8.再次点击Configure 

        等待结果,如果下面出现红色字(warring or error)

        类似

        一定要处理 ,别不把警告当回事,需要自己手动去下载他报错的报,根据错误提示信息,查看对应的CMakelist文件,看看下载的包放在哪里

https://github.com/opencv/opencv_3rdparty/

         在opencv目录下,构建cmake时会生成一个.cache文件夹,如果cmake中报红,就去看这里面的文件夹, ffmpeg ippicv wechat xfeaturesd这几个的东西如果是0Kb,就需要自己去手动下载放进去,名字要改的和里面的一样。

        例如这样,我这是手动下载了,不然后面大小都是0kb:

         如果没爆红,那真是幸运(羡慕)

ps:这个貌似不用管!

9.cuda_arch_bin算力设置

        上一次configure完,CUDA_ARCH_BIN 这块应该是这样的,最好直接去查询下自己显卡对应的算力,不改应该也成

CUDA GPU | NVIDIA 开发者

https://developer.nvidia.cn/cuda-gpus

 

10.勾选CUDA_FAST_MATH

        注意不要勾到哪个enable_fast_math去了

 11.取消勾选setupvars

 12.勾选OPENCV_ENABLE_NONFREE(不勾问题好像也不大)

13.再次点击Configure,然后不报红就点击generate,报错就按照上面的解决报错,不然vs里大概率报一大堆错,费时费力。然后就会在build输出目录找到一个OpenCV.sln文件,在vs中打开这个解决方案,进行编译。

 14.生成解决方案

        点击两次,一个生成ALL_BUILD,一次生成INSTALL

        或者直接 在生成==》配置管理器==》勾选INSTALL,然后生成解决方案就行了。

3.结束

        大概需要1-2给小时不等吧,生成成功的话,会在build目录下生成一个install文件夹,里面就是我们需要的文件,主要检查lib和bin,里面有没有对应的lib和dll。

 

     结束,有问题欢迎指导!

您可能感兴趣的与本文相关的镜像

PyTorch 2.6

PyTorch 2.6

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值