1

我正在尝试为我的 C# 项目设置 EMGU 库。我正在关注此链接http://file.emgu.com/wiki/index.php/Setting_up_EMGU_C_Sharp

我被困在:x64 Architecture 和 EMGU.CV.Invoke Exception步骤。我正在使用 Visual C# 2010 Express 版本,平台目标未显示 x64 选项。我试图检查显示高级构建配置,然后运行我的项目,但它抛出类型初始化错误,内部异常:“无法加载 DLL 'opencv_core242':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)” . 但是根据上面的链接,它应该抛出错误,并带有“InnerException”“尝试加载格式不正确的程序......”。

在下一行中抛出异常。

cap = new Capture(0);

请帮帮我。

4

4 回答 4

1

这个对我有用:

只需在 debug\ 中创建一个名为“x64”的目录,然后将 opencv_xxx.dll 复制到这个“x64”文件夹中。

于 2014-01-17T08:05:21.383 回答
0

看起来更像是找不到opencv dll。它们在运行时被查找。您可以检查BIN\Debug 文件夹中是否存在opencv_core242.dll文件吗?如果我记得它应该与 Emgu dll 的文件并排。

您必须包含 OpenCV dll 并确保将它们复制到输出目录。如果您使用的是 x64 版本的 EmguCV,那么您还需要 x64 版本的 opencv。

在 github 上有一个测试项目,它使用 DLL 的 32 位 dll 二进制文件。我记得我被迫使用 x64 版本的 DLL 创建另一个版本,以便能够部署到 Azure(仅运行 x64)。

于 2013-02-26T13:36:13.223 回答
0

是的 - 你肯定需要在 bin/Debug 文件夹中包含 opencv_core242.dll (如果这是你的输出路径!)和你的项目中。

请记住,opencv_core242.dll 依赖于其他 DLL。确保您也将它们全部包含在内,这应该可以解决您的问题。如果您找不到依赖于 opencv_core242.dll 的 DLL,请尝试下载 Dependency Walker。它可以帮助您在构建所有依赖模块的分层树形图时找到您的依赖关系。

祝你好运!!!

于 2013-07-22T10:29:36.320 回答
0

我认为您描述的问题不再与 Emgu.Cv 相关。

请尝试以下链接,这可能会解决您的问题:

MSDN 论坛

或者:

  1. 重新安装 Visual C# 2010 Express
  2. 升级到 Visual C# 2012 Express
于 2013-03-03T16:09:26.393 回答