Добавление openCV в Java buildpath в Eclipse
У меня проблемы с добавлением openCV в buildpath моего eclipse-проекта. Я следовал инструкциям в руководстве на этом сайте: http://docs.opencv.org/2.4.4-beta/doc/tutorials/introduction/desktop_java/java_dev_intro.html
Но выполнение фрагмента кода дает такой вывод консоли:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv-java2.4.4 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at camStatisticsTests.RawTests.main(RawTests.java:20)
Что мне нужно сделать, чтобы заставить openCV работать с java и eclipse. Я хочу использовать его как обычную библиотеку Java.
6 ответов
Я нашел решение. Учебник пропускает шаг, на котором нужно добавить dll к "собственному пути сборки". DLL находится в "opencv/build/java/x86" для 32-битной Java, я думаю. хотя я не знаю, почему это так. Было бы неплохо, если бы кто-то мог это объяснить.
У меня такая же проблема.
Это произошло потому, что у меня была ошибка с конфигурацией "Native library location":
Перейти к Eclipse -> Окно -> Настройки:
Окно -> Настройки>
Перейти к пользовательским библиотекам:
Убедитесь, что путь к вашей собственной библиотеке находится (измените c:/opencv-2.4.9 на вашу собственную папку opencv):
C:/opencv-2.4.9/build/java/x64
и не:
C:/opencv-2.4.9/build/x64
(Я пропустил папку / Java...)
Java-библиотека OpenCV правильно связана с вашим проектом Eclipse.
Проблема в том, что в OpenCV есть собственная библиотека, которой нет в java.library.path
, Исключение выдается строкой
static{ System.loadLibrary("opencv_java244"); }
которые связывают библиотеку Java с родной.
Когда вы устанавливаете OpenCV на свой компьютер, он также устанавливает нативный dll
библиотека где-то в вашей системе, и когда вы вызываете System.loadLibrary
, вы говорите Java для поиска и загрузки этой библиотеки.
Ваша текущая проблема заключается в том, что Java не может найти эту библиотеку в вашей Системе, поскольку библиотека не входит ни в одну из java.library.path
папки, или потому что у вас не установлен OpenCV (также посмотрите на версию, может быть, у вас нет 2.4.4, потому что последний - 2.4.5, и в этом случае вам придется адаптировать строку).
Я только что заметил, что ваше исключение касается "opencv-java2.4.4". Убедитесь, что у вас есть правильное написание формы "opencv_java244", в вашем System.loadLibrary
вызов.
Я также перенаправляю вас к одному из моих ответов, который связан с JavaCV, но он более подробно объясняет, что происходит.
Для меня Eclipse > внешний jar > нативная библиотека config = opencv/build/lib работала
Я нашел решение. Фактическая DLL находится в openCV\opencv\build\java\x64\
папка. В моем случае его зовут opencv_java247.dll
так я изменилась System.loadLibrary("opencv_java244")
в System.loadLibrary("opencv_java247")
в моем коде Java. Я также поставил родную библиотеку как E:/Sagar_tools/tools/openCV/opencv/build/java/x64
(это мой полный путь к DLL).
Измените код на System.loadLibrary("opencv_java244")
надеюсь, что вы установили собственный путь к правильной папке, а opencv jar установил путь сборки