资讯动态

opencv已经配置上cuda了,并且cuda已经可以使用,但是cv::cuda::getCudaEnabledDeviceCount()还是找不到设备,一直返回0

发布时间:2026/8/6 7:34:46 来源:尧图企业网站定制
1、检查当前环境变量的cuda版本是否与当前运行的一致指令nvcc -V2、在控制台中输入bandwidthTest.exe及deviceQuery.exe的所在目录如我的F:\installfile\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\demo_suite运行该程序.\bandwidthTest.exe及 .\deviceQuery.exe出现Result PASS信息表示成功安装CUDA及CUDNN3、以上通过代表着cuda是已经成功配置了的接着在环境变量里查看当前配置上的带有cuda版本联合编译的opencv是否存在当有多个opencv版本存在于环境变量中时确保你使用的那个版本处于在最上面。会优先使用第一个配置的4、查看当前配置的vs项目的属性包含目录、库目录、附加依赖项 等是否是带有cuda编译的opencv5、项目代码中打印出当前opencv的编译信息std::cout cv::getBuildInformation() std::endl;比如我的检查里面的编译信息是不是你当前opencv的如果上面的信息不是你当前属性里配置的opencv信息那么很可能在该项目编译生成文件的文件夹下复制了别的opencv版本的opencv的dll文件也就是x64\release或debug文件夹程序运行时会优先检查程序所在的路径下是否含有该动态库dll如果存在则使用如果没找到那么程序会使用系统变量中配置的bin的目录下的dll。至此大多可能造成cv::cuda::getCudaEnabledDeviceCount()一直返回0的原因都已经列出相信能够解决你的问题。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价