引入Emgu模块后,使用时出现如下错误:

System.TypeInitializationException:““Emgu.CV.CvInvoke”的类型初始值设定项引发异常。”

BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

版本号:

Emgu.CV 4.8.1.5350

Emgu.CV 4/8/1/5350

Emgu.CV.Platform.NetFramework 4.8.1.5350

问题原因一般有两个:

1.目标平台不一致

2.缺少dll文件

针对于目标平台不一样问题。右击项目,选择“属性”

如果你目标平台选择的是 “AnyCpu”那么下面“首选32位”取消勾选。

对于缺少dll文件,如果你本地已经有cvextern.dll这个文件,则把这个文件复制到你的项目名/bin/debug目录下,如果没有这个文件,可以从下面的网站下载

Emgu CV – Browse /emgucv at SourceForge.net

比如我这里用的是4.8.0这个版本,我下载后,就找到如下目录:

\libemgucv-windesktop-4.8.0.5324\libs\runtimes\win-x64\native

其中win-64表示64位,还有32位可以选择。

把这个文件夹底下的cvextern.dll这个文件复制到项目的 /bin/debug目录下。