Добавление 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 -> Окно -> Настройки:

Перейти к 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 установил путь сборки

Другие вопросы по тегам