em.Invoke on emgu

时间:2013-02-16 17:00:29

标签: c# opencv emgucv

当我尝试阅读一张简单的图像时,我不断获得cv.invoke。我的应用程序没有其他代码(emgu-opencv wise)。我检查了调用堆栈,它说Thrown: "Unable to load DLL 'opencv_core249': The specified module could not be found.

问题是我尝试在解决方案中添加两个.dlls (opencv_core249 and opencv_imgproc249)作为资源(副本始终在属性中)并仍然获得异常 也试图改变他们的财产作为内容,但仍然没有。

还尝试在debug文件夹中手动复制它们,但仍然得到相同的异常。 我已按照指南this question指出,但我仍然得到同样的错误

如果对我有任何帮助,我使用的是Visual Studio 2012和Windows 8

3 个答案:

答案 0 :(得分:3)

取决于解决方案的平台设置....

如果要在“x64”xor“x86”上构建解决方案,则必须在调试文件夹中复制这些dll

..但是如果您正在构建“Any Cpu”,则需要在调试文件夹中创建“x86”和“x64”文件夹。在他们里面你需要相关的库。因为,根据cpu,你的解决方案将会重新出现...

答案 1 :(得分:2)

我认为您的问题的解决方案也可以在此主题中指出:

The type initializer for 'Emgu.CV.CvInvoke' threw an exception for Win8 64bit, VS2012

有一个指向emgucv论坛的链接。

此外,还要检查您是否正在为正在尝试构建的项目使用正确的平台目标(例如,x86和64位)。

答案 2 :(得分:2)

确保在配置选项下设置目标平台(x64或x86),并确保所有opencv库与执行目录位于同一目录中。

如果这不起作用,请尝试运行任何emgu示例,它们是否有效?