我用x64中的emgu CV制作了一个c#项目。它进行模板匹配。但是我现在意识到我需要它在x86系统上工作。当我在构建设置中更改此设置时,我收到此错误:
Emgu.CV.dll中出现未处理的“System.TypeInitializationException”类型异常 附加信息:'Emgu.CV.CvInvoke'的类型初始值设定项引发了异常。
我打破它,问题在于这一行:
Image<Bgr, byte> template = new Image<Bgr, byte>(imagetofind);
我不知道为什么。 (它在x64上完美运行。)
P.S我已经为x64正确设置了所有dll,我是否需要用x86 dll替换它们?
答案 0 :(得分:1)
P.S我已经为x64正确设置了所有dll,我是否需要用x86 dll替换它们?
是的,你这样做。 dll架构必须与应用程序架构相匹配。我有完全相同的错误,因为我以为我使用的是x64,并复制了x64 dll。但是,应用程序实际上是x86。我通过制作应用程序x64来修复它。
因此,要么将x64应用程序与x64 dll一起使用,要么使用x86 dll。