python3.7安装opencv失败 cuda10.0_Win10 VS2017+CUDA10.0/cuDNN+opencv_contrib+cmake编译opencv cuda...

1. 准备

2. VS中配置CUDA

安装CUDA时候会选择集成在VS中,安装之后有samples,试着跑一下测试下。关于库路径正常添加就可以了。

vs属性表中CUDA C/C++配置

3. cmake编译支持CUDA的opencv

3.1 configure 'opencv'

打开 cmake_gui.exe, 最上方两个文本框,分别输入 下载的"opencv/source" 的路径,和将要存储生成文件的路径,如"opencv_cmake"

然后点击 Configure,第一次会弹出下框,选择对应的版本即可。注意一定要联网,配置过程中需要下几个包。

cmake_gui

然后可能会出现个python的错误,忽略就行

CMake's 'find_host_package(PythonInterp 2.7)' founds wrong Python version:

PYTHON_EXECUTABLE=D:/Python3.8.1/python.exe

PYTHON_VERSION_STRING=3.8.1

Consider specify 'PYTHON2_EXECUTABLE' variable via CMake command line or

environment variables

Call Stack (most recent call first):

cmake/OpenCVDetectPython.cmake:271 (find_python)

CMakeLists.txt:585 (include)

下面这个错误也忽略

CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):

CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install

directory

Call Stack (most recent call first):

CMakeLists.txt:947 (include)

这次Configure之后,对于opencv 4.0以上版本,在 cmake_gui 上搜索BUILD_opencv_world并勾选上,再Configure一下。

3.2 configure 'opencv_contrib'

搜索框中搜OPENCV_EXTRA_MODULES_PATH,并在之后的value中输入下载好的opencv_contrib/modules的路径。

添加opencv_contrib路径

然后再在搜索框中搜 cuda,对BUILD_CUDA_STUBS、WITH_CUDA和CUDA_FAST_MATH打勾

cuda相关选项

点击 Configure, 之后可以点击Generate。

之后会有CUDA_ARCH_BIN这个项,其后面的数字表示GPU支持的算力,要找对应的算力保留就行。例如Quadro P1000算力是6.1,GTX 2060-2080算力是7.5,部分笔记本显卡的算力情况如下图,其他可自查GPU Compute Capability

GPU Compute Capability

如果还需要 cuDNN,则在搜索框中搜索 BUILD_CUDA_DNN,打上勾,然后再Configure,之后在输出框框检查下,cuDNN后面要确保是 YES。

检查cuDNN是否为YES

之后检查输出框,确保没有除之前提到的两个错误外的其他错误后,然后点击 Generate,之后显示如下与cuda有关的项。

cuda相关项

3.3 编译生成INSTALL

点击 cmake_gui 上的 Open Project,进入VS,在解决方案资源管理器中找到"CMakeTargets",然后选择 "All_BUILD -> 右键"生成"。(debug 和 release 两个模式下都生成下,这一步根据电脑性能不同耗时不同,不过还是挺久的,建议找个1小时空闲期来编译)

编译opencv cuda库

然后选择"INSTALL -> 右键"仅用于项目" -> 仅生成INSTALL"。

之后在指定的文件夹 "opencv_cmake"下会有一个install文件夹,将该文件夹下的"./install/include", "./install/x64/vc15/lib", "./install/x64/vc15/bin", 添加至VS中响应位置即可。

其中"bin"目录若添加环境变量后仍显示无法找到动态链接库,则将该文件下的对应 debug 和 release 的 .dll 文件分别拷到工程的生成的 Debug 或者 Release 文件夹下。

Reference

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值