首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCVSharp:无法加载DLL 'OpenCvSharpExtern‘

OpenCVSharp:无法加载DLL 'OpenCvSharpExtern‘
EN

Stack Overflow用户
提问于 2017-05-22 06:27:38
回答 5查看 12.9K关注 0票数 6

我安装了最新的OpenCVSharp 2(2.4.10.201.)和我的项目中的NuGet经理。与OpenCVSharp.CvMat有关的一切都正常工作(加载、操作等),所以我确信安装是正确的。

但是我根本不能使用OpenCVSharp.CPlusPlus!问题是它没有加载OpenCvSharpExtern.dll.

试图捕获块显示的错误:

代码语言:javascript
复制
try
{
    Mat mat = new Mat();
} catch (Exception err)
{
    Console.WriteLine( err );
}

System.TypeInitializationException: The type initializer for 'OpenCvSharp.CPlusPlus.Mat' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'OpenCvSharpExtern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   at OpenCvSharp.CPlusPlus.NativeMethods.core_Mat_sizeof()
   at OpenCvSharp.CPlusPlus.Mat..cctor()
   --- End of inner exception stack trace ---
   at OpenCvSharp.CPlusPlus.Mat..ctor()
   at MainClass.Main() in C:\Users\kotsias\Documents\Visual Studio 2015\Projects\MyCVSharp\ConsoleApplication1\Test.cs:line 14

OpenCvSharpExtern.dll 是在以下子文件夹中与My.exe一起部署的

..\dll\x86

&

..\dll\x64

如果我手动将x64 .dll复制到与my .exe相同的文件夹中,则仍然会得到上述相同的错误。如果复制x86 .dll,则会得到另一个错误:

代码语言:javascript
复制
System.TypeInitializationException: The type initializer for 'OpenCvSharp.CPlusPlus.Mat' threw an exception. ---> System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
   at OpenCvSharp.CPlusPlus.NativeMethods.core_Mat_sizeof()
   at OpenCvSharp.CPlusPlus.Mat..cctor()
   --- End of inner exception stack trace ---
   at OpenCvSharp.CPlusPlus.Mat..ctor()
   at MainClass.Main() in C:\Users\kotsias\Documents\Visual Studio 2015\Projects\MyCVSharp\ConsoleApplication1\Test.cs:line 14
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-05-22 10:56:15

可能您没有安装VisualC++可再发行包的正确版本。

OpenCvSharp 2.4.10使用VisualC++ 2013可再发行包。但是,不推荐使用OpenCvSharp 2.4.10,作者建议使用OpenCvSharp 3.2

#OpenCvSharp2.4.10 OpenCV 2.4.10用于.NET框架的跨平台包装器。 这个项目被否决了。最新版本可在OpenCvSharp.中获得。

有关更多信息,请查看:

票数 1
EN

Stack Overflow用户

发布于 2020-10-22 10:29:10

安装"OpencvSharp{version} nuget“软件包是不够的。您还必须安装"OpencvSharp{version}.runtime.{operating_system}“包。

例如,在我的例子中,我必须安装以下Nuget pacages:

  • OpencvSharp4
  • OpencvSharp4.runtime.win
票数 9
EN

Stack Overflow用户

发布于 2021-06-17 14:41:42

另一个一些人可能遇到的问题:

OpenCvSharpExtern.dll需要作为媒体功能包一部分的mfplat.dll。默认情况下,Windows 'N‘版本不包括此内容。

它可以安装从应用程序和功能->可选的功能->添加一个功能。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44105973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档