The type initializer for 'Emgu.CV.CvInvoke' threw an exception

Dilshan Zuhdi picture Dilshan Zuhdi · Jun 24, 2013 · Viewed 47.2k times · Source

I'm getting this error

The type initializer for 'Emgu.CV.CvInvoke' threw an exception.

when I try to use Emgu CV. I've tried everything I can think of to fix this but it's still giving the same error, and when I click a button it shows

Object reference not set to an instance of an object.

This is the code I'm trying:

void ProcessFunction(object sender, EventArgs e)
{
    imgOrg = capturecam.QueryFrame();
    if (imgOrg == null) return;
    imgProc = imgOrg.InRange(new Bgr(50, 50, 50), new Bgr(255, 255, 255));
    imgProc = imgProc.SmoothGaussian(9);
    imageBox1.Image = imgOrg;
    imageBox2.Image = imgProc;
}

What might I have done wrong and how can I debug this further? Thanks!

Answer

Muhammed Tanriverdi picture Muhammed Tanriverdi · Nov 3, 2014

I had the same problem. My inner exception was "Unable to load DLL 'opencv_core290'".

You need to copy x86 and x64 folders from "yourEmguFolder/bin" to your project's output(bin) directory. Then build project again and run.

According to emgu wiki