Jump to content
Compvision.ru
Sign in to follow this  
villyz

подключение Machine Learning

Recommended Posts

Всем привет.

Я пишу приложение в VS 2008, используя OpenCvSharp. В процессе работы возникла необходимость подключения OpenCvSharp.MachineLearning.

Добавил в using OpenCvSharp.MachineLearning.

Но первый же вызов конструктора CvEm выдал исключение

An exception has occured because of P/Invoke.

...

System.DllNotFoundException: Не удается загрузить DLL "OpenCvSharpExtern".

Я скопировал OpenCvSharpExtern.dll в папку с exe-шником, как описано здесь

http://code.google.com/p/opencvsharp/wiki/Tutorial_Windows

Но не помогло. Исключение остается.

Кто-нибудь сталкивался с такой установкой?

Share this post


Link to post
Share on other sites

Это происходит при запуске из IDE или и при отдельном запуске программы из её директории?

Share this post


Link to post
Share on other sites

Всем привет.

Я пишу приложение в VS 2008, используя OpenCvSharp. В процессе работы возникла необходимость подключения OpenCvSharp.MachineLearning.

Добавил в using OpenCvSharp.MachineLearning.

Но первый же вызов конструктора CvEm выдал исключение

An exception has occured because of P/Invoke.

...

System.DllNotFoundException: Не удается загрузить DLL "OpenCvSharpExtern".

Я скопировал OpenCvSharpExtern.dll в папку с exe-шником, как описано здесь

http://code.google.c...utorial_Windows

Но не помогло. Исключение остается.

Кто-нибудь сталкивался с такой установкой?

Попробуй поиграться с типом сборки Debug/Release, может быть у тебя библиотека скомпилирована в релизе и не может работать в дебаге или наоборот, а может версии не совпадают. А саму библиотеку где брал?

p.s. и текст исключения желательно весь в студию

Share this post


Link to post
Share on other sites

Происходит как из IDE так и при запуске exe.

Текст исключения:

*

An exception has occured because of P/Invoke.

Please check the following:

1. OpenCV's DLL files exist in the same directory as the executable file.

2. Visual C++ Redistributable Package has been installed.

3. The target platform (x86/x64) of OpenCV's DLL files and OpenCVSharp is the same as your project's.

System.DllNotFoundException: Не удается загрузить DLL "OpenCvSharpExtern": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)

в OpenCvSharp.MachineLearning.MLInvoke.CvSVM_sizeof()

в OpenCvSharp.MachineLearning.MLInvoke.TryPInvoke()

*

Visual C++ RP переустановил.

OpenCvSharp брал здесь

http://code.google.com/p/opencvsharp/downloads/detail?name=OpenCvSharp-2.3.1-x86-20120519.zip&can=2&q=

Share this post


Link to post
Share on other sites

VC++ redist бывает разных версий, ставить иногда надо все ... и (2005?) 2008 и 2010 (у меня 1 раз так было)

Также, как вариант, глянуть зависимости exe'шника вот этим: http://dependencywalker.com/

А для .NET софтина с подобным функциналом тут (это лучше): http://www.reflector.net/

И, конечно же, обратить внимание на вот это:

The target platform (x86/x64) of OpenCV's DLL files and OpenCVSharp is the same as your project's.
  • Like 1

Share this post


Link to post
Share on other sites

Точно!

Полез в dependency walker проверять библиотеку OpenCvSharpExtern.dll, он показал, что нет файла MSVCR100.dll и еще некоторых - все из VC++resistr 2010. Скачал, поставил - исключение больше не возникает.

теперь другие ошибки, но это другая история))

Спасибо огромное, Troyashka, 2 дня убил на это!:)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×