OpenCV配置CUDA以支持GPU加速
一、环境准备
- 查看电脑NVIDIA的CUDA版本号,下载对应版本CUDA Toolkit(当前使用11.1版本)(具体需不需要下载和自己电脑cuda相同版本的还有待查证)
- cmake3.17.2(最高只支持到vs2019版)
- visual studio 2019
- opencv源代码(当前使用opencv 4.6.0版本)
- opencv_contrib(当前使用4.6.0版本)
以上相应下载链接及软件会放在资料里。CUDA精简安装教程请关注补充内容
二、使用cmake “make”
1、打开cmake(cmake-gui),第一个源代码路径选择刚刚下载的opencv源代码路径,路径需要选择到sources
第二个编译输出路径,可在opencv文件夹下创建一个新的文件夹,用于存放编译输出的文件,这里创建为newbuild。
(1)跟python2.7相关的错误,可忽略
2、勾选相应配置
(1)在 search 搜索框里搜索 cuda,勾选 OPENCV_DNN_CUDA 和 WITH_CUDA 两个选项
以上完成之后再次点击 configure 进行第二次配置,等待配置完成后可继续下一步。
例如:wechat_qrcode、xfeatures2d、face相关等,基本都是因为下载不到文件引起,需要自己手动下载(5)搜索 cudnn,勾选 WITH_CUDNN(我的默认已经勾选)
(显卡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,同样右键生成,过程大约几分钟,等待生成完成即可。
三、配置环境变量
此电脑右键-属性-高级系统设置-高级-环境变量在上方的用户变量中新建两个变量
四、测试
在代码中,需要对net类进行两处修改net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)之后运行即可支持GPU加速。来源: 小半仙IoT
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。