i have a problem with emguCV in Visual studio

0

I'm french and not very easy to write in english so i apologize for this. I need to use emguCV for my projet but i have many problem. I have 2 PC, one is a windows 7 professional 64 bits and other is a windows 10 x64. On the first PC emguCV working normaly no problem but in the second PC i use visual studio 2019 and emguCV 3.4.3.3016 but when run i have a this error

Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

and in windows exit have this LoadLibraryEx C:\Users\adartois\Desktop\Nouveau dossier\WindowsFormsApp10\WindowsFormsApp10\bin\Debug\x86\cvextern.dll failed with error code 126: Le module spécifié est introuvable

For solve this error a test :

  • In my project in bin/debug i put 2 folder x64 and x86 from emguCV 3.4.3.3016.
  • In preference i put Emgu.CV.UI and Emgu.CV.World
  • With my perso PC in windows 10 i never have this problem

this is the code for test

OpenFileDialog Openfile = new OpenFileDialog();
            if (Openfile.ShowDialog() == DialogResult.OK)
            {
                Image<Bgr, byte> My_Image = new Image<Bgr, byte>(Openfile.FileName);
                pictureBox1.Image = My_Image.ToBitmap();
            }

The error happen due to line 4 (Image<Bgr, byte>)

Any help is appreciated!

c#
asked on Stack Overflow Apr 8, 2021 by AlexandreD

1 Answer

0

I would recommend updating Emgu to a later version. 3.4.3 is from 2018, and there are later versions available.

I would also suggest using nuget to add the library (Tools\Nuget Package Manager\Manage nuget packages for solution). This lets visual studio add any required dependencies automatically.

You probably want the Emgu.CV.runtime.windows and the Emgu.CV.UI packages. I'm not sure what Emgu.CV.World refers to, I cannot find any references to such a package.

I'm far from an expert with regards to Emgu, and calling native code is a fairly frequent source of issues. But referencing the runtime package just worked for me. There is probably some magic going on under the hood.

Also, windows 7 has reached end of life a fairly long time ago, I would not expect all modern software to work on it.

answered on Stack Overflow Apr 8, 2021 by JonasH

User contributions licensed under CC BY-SA 3.0