无法在ac #project中加载cvextern

dus*_*usm 18 c# dll emgucv

我正在尝试调试我的程序,在c#中使用emgu和HaarCascade.我得到一个像这样的例外:

无法加载DLL'cvextern':找不到指定的模块.(来自HRESULT的异常:0x8007007E)

我已将文件cvextern.dll添加到我的项目中,并尝试在文件属性上"复制始终"和"复制如果更新"选项.此外,构建在平台x64中.

这部分是我写的:

    private void Load_Click(object sender, EventArgs e)
    {
        OpenFileDialog dlg = new OpenFileDialog();
        dlg.Filter = "Photo Files (*.jpg)|*.JPG";
        dlg.CheckFileExists = true;
        if (dlg.ShowDialog() == DialogResult.OK)
        {
            Image<Bgr, Byte> My_Image = new Image<Bgr, byte>(dlg.FileName);
            HaarCascade face = new HaarCascade("haarcascade_frontalface_alt.xml");
Run Code Online (Sandbox Code Playgroud)

而例外是在最后一行.

Chr*_*ris 21

你收到的错误不仅仅是cvextern这个dll实际上指向几乎所有其他opencv dll而且都是必需的.出现此错误,您需要在项目中使用以下dll.

请注意,"220"是根据更新而更改的版本号.

  • cudart64_32_16.dll
  • cufft64_32_16.dll
  • cvextern.dll
  • npp64_32_16.dll
  • opencv_calib3d220.dll
  • opencv_contrib220.dll
  • opencv_core220.dll
  • opencv_features2d220.dll
  • opencv_flann220.dll
  • opencv_gpu220.dll
  • opencv_highgui220.dll
  • opencv_imgproc220.dll
  • opencv_legacy220.dll
  • opencv_ml220.dll
  • opencv_objdetect220.dll
  • opencv_video220.dll

这篇错误在我关于codeproject的文章中与其他错误一起介绍.

任何其他问题让我知道,

干杯,

克里斯


Ali*_*ati 12

只需安装:这个nuget包

因为有一些非托管代码,您必须在项目中添加这些引用

查看变更日志


小智 8

这个错误突然出现在我身边,Emgu CV 3.1我发现这个问题有以下工作解决方案:

复制cvextern.dll应用程序目录中的\bin\Debug\

希望这可以帮助.