Opencv 找不到EmguCV-nvcuda.dll

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. 我

我被要求构建一个实时人脸识别应用程序,在环顾四周之后,我决定尝试使用EmguCV和OpenCV作为人脸识别库

目前我遇到的问题是如何安装SDK并使其正常工作。我已经按照找到的说明尝试运行它,但仍然无法运行示例。每当我尝试运行它们时,都会出现错误

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系列图形卡
我假设这是一个问题,因为我没有nVidia图形卡,但我不确定我能做些什么。现在,我将尝试重新编译源代码,而不是使用下载的.exe,看看这是否有帮助


有什么建议吗?

问题似乎在于网站上的最新版本不包含非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解决方案:

  • 从上面的链接获取NVidia CUDA DLL。理想情况下,根据您所需的平台,将64位或32位版本重命名为nvcuda.dll。放在opencv dll的旁边
  • 升级到具有通用GPU支持的2.4.9

  • 我在用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版本。