0

我正在尝试在 Unity Pro 上使用 EmguCV 的 Capture 类,但每次调用它的构造函数时,都会出现以下错误:

DllNotFoundException: opencv_core249 Emgu.CV.CvInvoke..cctor () Rethrow as TypeInitializationException: Emgu.CV.CvInvoke Emgu.CV.Capture..ctor (Int32 camIndex) 的类型初始化程序引发异常

例如,我已经阅读过要解决 Visual Studio 上的问题,您只需将 opencv_coreXXX 和 opencv_highguiXXX 复制并粘贴到输出文件夹,但此解决方案似乎不适用于 Unity。

问题是 Unity 在正确的文件夹(我放置所有 EmguCV dll 的输出文件夹)中搜索,但似乎没有找到 dll。

要在 Unity 中安装 EmguCV,我只是按照此人在以下链接中描述的步骤操作:http: //forum.unity3d.com/threads/182600-OpenCV- (EMGUCV-wrapper)-integration-in-Unity

4

1 回答 1

1

如果您使用 dll 作为插件,它应该位于 Assets/Plugins 文件夹中。如果该插件需要其他 dll,它们应该位于项目文件夹的根目录中(或 Unity 安装文件夹的 Editor 文件夹中)。如果构建了应用程序,那么 dll 自然应该是可用的,例如将它们添加到与可执行文件相同的文件夹中。

您可以尝试使用Dependency Walker追踪异常。

另外,当插件需要highgui.dll时,我在Windows 8中也遇到过类似的问题。一旦删除,没有例外(我从来没有真正发现问题是什么)。

于 2014-03-13T08:10:09.667 回答