2015-11-26 3 views
1

Я пытаюсь написать для использования библиотеки openCVSharp3 с .NET 4.5 и VS2015, которая должна быть просто оболочкой для OpenCV 3.0, но до сих пор без успеха. Я написал очень простой консольное приложение в C# только с этим кодом:Невозможно найти точку входа с именем xfeatures2d_SIFT_create

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

Но я получаю это исключение: Необработанное исключение типа «System.EntryPointNotFoundException» произошло в OpenCvSharp.dll Дополнительная информация: Не удается найти точка входа с именем «xfeatures2d_SIFT_create» в DLL «OpenCvSharpExtern».

я посмотрел в код openCVSharp и этот метод на самом деле существует, но в блоке с пометкой

#ifdef ENABLED_CONTRIB 

Есть ли способ, как определить, если это включено или нет в текущем пакете NuGet.

Я не знаю, как следует отлаживать это исключение, так как я никогда не писал какой-либо обертки для библиотеки C++. Также я не знаю, может ли мой VS2015 с компилятором VC14 не возражать против этого кода.

Edit: Пример проекта из openCVSharp для алгоритма сита бросить же исключение ... я думаю, что его отключено в этой версии NuGet пакета.

ответ

0

Как вы выяснили, в OpenCV 3.0 SIFT и SURF переместились во внешнюю библиотеку Contrib и в настоящее время не поддерживаются в OpenCvSharp v3.0. Вы можете найти более подробную информацию об этом здесь https://github.com/shimat/opencvsharp/issues/146, а также предложения.

+0

Да, спасибо ... Я отмечу это как ответ и, возможно, даже рассмотрю возможность участия в OpenCVSharp, чтобы добавить поддержку некоторых пакетов Contrib. – LightCZ

Смежные вопросы