引入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目录下。