Opencv 找不到EmguCV-nvcuda.dll
我被要求构建一个实时人脸识别应用程序,在环顾四周之后,我决定尝试使用EmguCV和OpenCV作为人脸识别库 目前我遇到的问题是如何安装SDK并使其正常工作。我已经按照找到的说明尝试运行它,但仍然无法运行示例。每当我尝试运行它们时,都会出现错误Opencv 找不到EmguCV-nvcuda.dll,opencv,cuda,emgucv,Opencv,Cuda,Emgucv,我被要求构建一个实时人脸识别应用程序,在环顾四周之后,我决定尝试使用EmguCV和OpenCV作为人脸识别库 目前我遇到的问题是如何安装SDK并使其正常工作。我已经按照找到的说明尝试运行它,但仍然无法运行示例。每当我尝试运行它们时,都会出现错误 The program can't start because nvcuda.dll is missing from your computer. Try reinstalling the program to fix this problem. 我
The program can't start because nvcuda.dll is missing from your computer.
Try reinstalling the program to fix this problem.
我已经尝试了大多数常用的修复方法,例如将bin文件夹添加到我的环境路径中,并将dll复制到我的system32文件夹中,但似乎都不起作用
- EmguCV版本2.4.2.1777-windows-x64-gpu
- 视窗8
- AMD Radeon HD 6700系列图形卡
有什么建议吗?问题似乎在于网站上的最新版本不包含非GPU增强版下载,而GPU增强版下载需要nVidia图形卡才能与CUDA集成
我成功下载并运行了没有GPU增强功能的早期版本。我碰巧遇到了与您完全相同的问题。在我的电脑(32位WinXP)上一切正常,但在64位Win7电脑上却不行。 这是因为我的计算机上已经安装了OpenCV 2.4.2,当我执行程序时,OpenCV dll的路径指向OpenCV文件夹,而不是EmguCV文件夹中的dll。原始OpenCV dll对NVidia的驱动程序没有这种依赖性 我曾经帮助我发现发生了什么,就像我建议的那样 link说只有-gpu包启用了gpu处理,但正如您所说的最新版本(2.4.2)只有一个gpu包,没有gpu包 我读到我所需要的只是下载最新的NVidia驱动程序来获取nvcuda.dll文件,但我下载了许多软件包,但从未找到此文件:、显示驱动程序、设备驱动程序
我的解决方法是使用原始的dll,而不是使用旧版本的EmguCV/OpenCV。也有同样的问题,EmguCV 2.4.2(无论是x86还是x64)是用GPU编译的,您必须使用支持CUDA的nvidia GPU。因此,如果您想从C#中的2.4中获得Fisherfaces,请等待非GPU版本或购买/借用CUDA卡;) 我刚从dll files.com使用。您可以从GIT下载源代码EmguCV并进行编译,我已经完成了这项工作,可以: 它生成非GPU版本的DLL 问候。我也有类似的问题。 当我用NVIDIA gpu在计算机上编译和运行我的应用程序时,它工作得很好。 问题是当我将应用程序移动到另一台计算机时。 第二台计算机没有NVIDIA gpu,它抛出了“Emgu.CV.CvInvoke”异常。 经过多次尝试,我幸运地解决了这个问题。 正如您之前提到的,目前只有2.4.2版的gpu软件包。 我以前没有注意到这一点 对我来说,解决办法是:
- 将文件“cudart64_42_9.dll”和“npp_42_9.dll”复制到调试(应用程序)文件夹中
- 将文件“nvcuda.dll”复制到System32文件夹中。 在此步骤之后,应用程序可在所有计算机上运行,即使没有NVIDIA gpu/CUDA
其他解决方案可能使用opencv通用gpu版本(目前为alpha 2.4.9)链接:这里还有另一个dll副本: so 2解决方案:
我在用EmguCV进行人脸识别的论文中也遇到了一些问题。 尝试使用最稳定的版本libemgucv-windows-x86-2.4.0.1717.exe 尽量不要使用gpu下载,这个版本的bug最少,32位的比x64好。 首次编译时,请使用visual studio 2012。
使用此版本,您将不需要安装上述所有功能。您可以看到这个示例,了解它是否真的有效:回答得很好!但是你能告诉我在哪里可以找到OpenCV 2.4.2中的.dll文件吗?(什么目录)下载文件。执行/提取它。.dll位于./build/x86或x64/vc10/bin中。奇怪,这并不能解决我的问题。我已经将它们包含在我的项目中,并将文件复制到可执行目录中。但我仍然得到相同的错误…尝试使用来识别哪个dll请求nvcuda.dll。对我来说没用。我还认为单个dll文件可能无法解决依赖性问题。这对我来说很有效。给定的dll是X86版本。如果它不适合您,您的程序可能是x64版本。