在C#中设置EMGU库时出现异常
本文关键字:异常 EMGU 设置 | 更新日期: 2023-09-27 18:01:05
我正在尝试为我的C#项目设置EMGU库。我正在关注此链接http://file.emgu.com/wiki/index.php/Setting_up_EMGU_C_Sharp.
我陷入了:x64体系结构和EMGU.CV.Invoke Exception步骤。我使用的是Visual C#2010学习版,平台目标没有显示x64选项。我尝试检查"显示高级生成配置",然后运行我的项目,但它引发类型初始化错误,内部异常:"无法加载DLL'opencv_core242':找不到指定的模块。(HRESULT中的异常:0x8007007E(">。但根据上面的链接,它应该会抛出"InnerException"错误"试图加载格式不正确的程序……"。
在以下行中引发异常。
cap = new Capture(0);
请帮帮我。
它对我有效:
只需在debug''中创建一个名为"x64"的目录,并将opencv.xxxx.dll复制到此"x64"文件夹中。
看起来更像是找不到opencv dll。它们是在运行时查找的。您能检查opencv_core242.dll文件是否存在于BIN''Debug文件夹中吗?如果我还记得的话,它应该和Emgu dll的文件并排。
您必须包含OpenCV dll,并确保它们被复制到输出目录中。如果你使用的是x64版本的EmguCV,那么你也需要x64版本的opencv。
我在github上有一个测试项目,它使用dll的32位dll二进制文件。我记得我被迫用x64版本的DLL创建另一个版本,以便能够部署到Azure(它只运行x64(。
我认为您描述的问题不再与Emgu.Cv.有关
尝试以下链接,这可能会解决您的问题:
MSDN论坛
或者:
- 重新安装Visual C#2010学习版
- 升级至Visual C#2012学习版
是-您肯定需要将opencv_core242.dll包含在bin/Debug文件夹中(如果这是您的输出路径!(和项目中。
请记住,opencv_core242.dll依赖于其他dll。确保你把它们都包括在内,这应该会解决你的问题。如果找不到依赖opencv_core242.DLL的DLL,请尝试下载Dependency Walker。它可以帮助您在y中找到依赖项,构建所有依赖模块的层次树形图。
祝你好运!!!