Перейти к содержимому
Compvision.ru
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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем привет.

Я пишу приложение в 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. и текст исключения желательно весь в студию

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Происходит как из 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=

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Точно!

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×