如何让我的emgu函数在x86上运行?

时间:2013-05-12 15:00:03

标签: c# x86 64-bit emgucv

我用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替换它们?

1 个答案:

答案 0 :(得分:1)

  

P.S我已经为x64正确设置了所有dll,我是否需要用x86 dll替换它们?

是的,你这样做。 dll架构必须与应用程序架构相匹配。我有完全相同的错误,因为我以为我使用的是x64,并复制了x64 dll。但是,应用程序实际上是x86。我通过制作应用程序x64来修复它。

因此,要么将x64应用程序与x64 dll一起使用,要么使用x86 dll。

另见:http://www.emgu.com/wiki/index.php/Download_And_Installation#The_type_initializer_for_.27Emgu.CV.CvInvoke.27_threw_an_exception