Javacv UnsatisfiedLinkError в Windows 7

В моем проекте я хочу захватить изображение с моей веб-камеры.

Я настроил шаг за шагом, следуя инструкциям из этого "OpenCV-JavaCV: Запись в блоге о конфигурации проекта eclipse для Windows 7.

После завершения настройки я протестировал образцы кода, и приложение обнаружило мою веб-камеру.

НАСТРОЙКА: Настройка устройства 0

НАСТРОЙКА: Веб-камера Namuga 1,3M

НАСТРОЙКА: не удалось найти булавку для предварительного просмотра с помощью SmartTee

НАСТРОЙКА: Захват набора обратных вызовов

НАСТРОЙКА: устройство настроено и готово к съемке.

а затем я получил ошибку, которая является ошибкой .dll.

Я использую виндовс 7 х64.

Exception in thread "Thread-2" java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\javacpp153028723186\jniopencv_core.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(Unknown Source)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:418)
at com.googlecode.javacpp.Loader.load(Loader.java:368)
at com.googlecode.javacpp.Loader.load(Loader.java:315)
at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:131)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.googlecode.javacpp.Loader.load(Loader.java:334)
at com.googlecode.javacpp.Loader.load(Loader.java:315)
at com.googlecode.javacv.cpp.opencv_core$CvArr.<clinit>(opencv_core.java:158)
at com.googlecode.javacv.VideoInputFrameGrabber.grab(VideoInputFrameGrabber.java:158)
at GrabberShow.run(GrabberShow.java:24)
at java.lang.Thread.run(Unknown Source)

Как я могу решить эту проблему?


person user1291468    schedule 28.05.2012    source источник
comment
На этот вопрос успешно ответили. Пожалуйста, просмотрите ответ, проголосуйте за тех, кто помог вам, и установите флажок рядом с ответом, который успешно решил вашу проблему, чтобы отметить его как официальный ответ.   -  person karlphillip    schedule 21.03.2013


Ответы (4)


Проверьте, соответствуют ли ваша версия Opencv и версии JavaCv друг другу. Вы можете проверить, что в файле readme на javacv-bin конкретно указано о требуемой версии opencv.

person SL_User    schedule 16.06.2012

Неудовлетворительная ссылка означает, что не все библиотеки собственного кода, необходимые для jniopencv_core.dll, могут быть найдены.

Вы развернули их все или только jniopencv_core.dll?

person Thorbjørn Ravn Andersen    schedule 28.05.2012
comment
Я скачал ganeshtiwaridotcomdotnp.blogspot.com/2011/12/ opencvSuperpack, и я извлек c:\ и добавил переменные среды. я не понимаю что мне делать - person user1291468; 29.05.2012
comment
Было ли больше одного DLL-файла? Вам нужно, чтобы JVM могла найти их все. - person Thorbjørn Ravn Andersen; 29.05.2012
comment
Не могли бы вы дать мне больше информации о том, как я могу указать пути всех DLL к JVM? С наилучшими пожеланиями - person user1291468; 29.05.2012
comment
Я не знаком с конкретным программным пакетом и не могу дать вам более подробных инструкций. Если вы точно следовали инструкциям (включая 32/64-битные версии JVM), то свяжитесь с теми, кто это написал, и поднимите отчет об ошибке. - person Thorbjørn Ravn Andersen; 29.05.2012

Я столкнулся с этой проблемой в Windows XP и Windows 7, и вот как я исправил ее на обеих платформах, используя Netbeans 7.2:

Установите все необходимое программное обеспечение:

Примечание. Убедитесь, что C:\ffmpeg\bin является допустимым путем.

  • OpenCV 2.4.2 (32-разрядная версия): загрузите OpenCV-2.4.2.exe и распакуйте его. Поместите его содержимое в C:\opencv.

Примечание: убедитесь, что C:\opencv\build\x86\vc10\bin является допустимым путем.

  • JavaCV 0.2: загрузите javacv-0.2-bin.zip и извлечь его. Переместите извлеченную папку в C:\javacv-bin.

  • Распространяемый пакет Microsoft Visual C++ (32-разрядная версия): загрузите и установите vcredist_x86.exe.

Настройте среду:

C:\ffmpeg\bin;C:\opencv\build\x86\vc10\bin

Теперь вы готовы создать новый проект Netbeans и протестировать свое приложение. Но прежде чем скомпилировать его, не забудьте щелкнуть правой кнопкой мыши папку Libraries в окне pProjects* и нажать Добавить банку/папку, чтобы выбрать все файлы . jar, расположенные по адресу C:\javacv-bin.

person karlphillip    schedule 30.10.2012

Убедитесь, что у вас есть vm arg -Djava.library.path=<path-to-native>, который указывает на каталог с вашими dll.

person Jeff Storey    schedule 28.05.2012