无法找到名为 xfeatures2d_SIFT_create 的入口点

Unable to find an entry point named xfeatures2d_SIFT_create

我正在尝试将库 openCVSharp3 与 .NET 4.5 和 VS2015 一起使用,它应该只是 OpenCV 3.0 的包装器,但到目前为止没有成功。我用 C# 编写了非常简单的控制台应用程序,代码如下:

static void Main(string[] args)
{
  var sift = SIFT.Create(100);
}

但我得到这个例外: OpenCvSharp.dll 中发生了 'System.EntryPointNotFoundException' 类型的未处理异常 附加信息:无法在 DLL 'OpenCvSharpExtern'.

中找到名为 'xfeatures2d_SIFT_create' 的入口点

我查看了 openCVSharp 的代码,这个方法确实存在,但在标记为

的块中
#ifdef ENABLED_CONTRIB

有没有办法确定当前 nuget 包中是否启用了此功能。

我不知道我应该如何继续调试这个异常,因为我从来没有为 c++ 库编写任何类型的包装器。 另外我不知道我的带有 VC14 编译器的 VS2015 是否不介意这段代码。

编辑: 来自 openCVSharp 的用于筛选算法的示例项目抛出相同的异常...我的猜测是它在此版本的 nuget 包中被禁用。

如您所知,在 OpenCV 3.0 中,SIFT 和 SURF 已移至外部贡献库,目前在 OpenCvSharp v3.0 中不受支持。您可以在此处找到更多详细信息 https://github.com/shimat/opencvsharp/issues/146 以及建议。