我在 Visual Studio 中遇到 emguCV 问题

时间:2021-04-08 12:51:46

标签: c#

我是法国人,用英语写起来不太容易,所以我为此道歉。 我需要为我的项目使用 emguCV,但我有很多问题。我有 2 台 PC,一台是 Windows 7 Professional 64 位,另一台是 Windows 10 x64。在第一台 PC 上,emguCV 正常工作没问题,但在第二台 PC 上,我使用 Visual Studio 2019 和 emguCV 3.4.3.3016,但运行时出现此错误

x[0] = y;

并且在windows退出有这个 Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

为了解决这个错误,一个测试:

  • 在 bin/debug 中的项目中,我从 emguCV 3.4.3.3016 中放置了 2 个文件夹 x64 和 x86。
  • 我更喜欢把 Emgu.CV.UI 和 Emgu.CV.World 放在一起
  • 我的个人电脑在 Windows 10 中从来没有遇到过这个问题

这是测试代码

LoadLibraryEx C:\Users\adartois\Desktop\Nouveau dossier\WindowsFormsApp10\WindowsFormsApp10\bin\Debug\x86\cvextern.dll failed with error code 126: Le module spécifié est introuvable

错误是由于第 4 行 (Image)

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我建议将 Emgu 更新到更高版本。 3.4.3 是 2018 年的,以后还有版本。

我还建议使用 nuget 添加库(Tools\Nuget Package Manager\Manage nuget packages for solution)。这让 Visual Studio 可以自动添加任何必需的依赖项。

您可能需要 Emgu.CV.runtime.windowsEmgu.CV.UI 包。我不确定 Emgu.CV.World 指的是什么,我找不到对此类包的任何引用。

我远不是 Emgu 方面的专家,调用本机代码是一个相当常见的问题来源。但是引用运行时包对我有用。引擎盖下可能有一些魔法。

此外,Windows 7 已经在相当长的一段时间前结束了,我不希望所有现代软件都能在它上面工作。