我安装了最新的OpenCVSharp 2(2.4.10.201.)和我的项目中的NuGet经理。与OpenCVSharp.CvMat有关的一切都正常工作(加载、操作等),所以我确信安装是正确的。
但是我根本不能使用OpenCVSharp.CPlusPlus!问题是它没有加载OpenCvSharpExtern.dll.
试图捕获块显示的错误:
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 14OpenCvSharpExtern.dll 是在以下子文件夹中与My.exe一起部署的:
..\dll\x86
&
..\dll\x64
如果我手动将x64 .dll复制到与my .exe相同的文件夹中,则仍然会得到上述相同的错误。如果复制x86 .dll,则会得到另一个错误:
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发布于 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.中获得。
有关更多信息,请查看:
发布于 2020-10-22 10:29:10
安装"OpencvSharp{version} nuget“软件包是不够的。您还必须安装"OpencvSharp{version}.runtime.{operating_system}“包。
例如,在我的例子中,我必须安装以下Nuget pacages:
发布于 2021-06-17 14:41:42
另一个一些人可能遇到的问题:
OpenCvSharpExtern.dll需要作为媒体功能包一部分的mfplat.dll。默认情况下,Windows 'N‘版本不包括此内容。
它可以安装从应用程序和功能->可选的功能->添加一个功能。
https://stackoverflow.com/questions/44105973
复制相似问题