我已经在我的项目中安装了最新的OpenCVSharp 2(2.4.10.201 ...)和NuGet管理器。有关OpenCVSharp.CvMat的一切正常(加载,操作等),所以我确信安装是正确的。
但是我根本不能使用OpenCVSharp.CPlusPlus!我试图简单地创建一个Mat但无济于事:
using OpenCvSharp;
using OpenCvSharp.CPlusPlus;
using MyCVSharp;
using System.Diagnostics;
using System.Collections;
class MainClass
{
static void Main()
{
Mat test3 = new Mat( new Size( 100, 100 ), MatType.CV_8UC1 ); // ERROR
Mat test2 = new Mat( "f1.png", LoadMode.Color ); // ERROR
CvMat test = new CvMat( "f1.png", LoadMode.Color ); //; THIS WORKS
错误是:
MyCVSharpTEST.exe中出现未处理的“System.TypeInitializationException”类型异常
附加信息:'OpenCvSharp.CPlusPlus.Mat'的类型初始化程序引发了异常。
我的项目旁边部署了很多dll。 OpenCvSharp.CPlusPlus.dll 和 OpenCvSharp.dll 部署在 MyCVSharpTEST.exe ,同时使用x86和x64子文件夹创建一个dll文件夹,其中包含另外22个相关的dll。
我甚至尝试从已经创建的CvMat创建一个Mat,但仍然是同样的错误。
编辑: try-catch块显示错误:
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
由于问题现在似乎与dll相关,I decided to write an all-new question about it。