【问题标题】:Unable to find an entry point named xfeatures2d_SIFT_create找不到名为 xfeatures2d_SIFT_create 的入口点
【发布时间】:2015-12-07 22:26:56
【问题描述】:

我正在尝试编写将库 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 的 sift 算法示例项目抛出相同的异常......我的猜测是它在这个版本的 nuget 包中被禁用。

【问题讨论】:

    标签: c# opencv3.0 opencvsharp


    【解决方案1】:

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

    【讨论】:

    • 是的,谢谢...我会将此标记为答案,甚至可能考虑为 OpenCVSharp 做出贡献以添加对某些贡献包的支持..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 2012-07-06
    • 1970-01-01
    相关资源
    最近更新 更多