Я пытаюсь сопоставить шаблон с привязкой Java OpenCV 4.3.0 в Eclipse, но попытка загрузить изображение шаблона всегда приводит к этой ошибке:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.imgcodecs.Imgcodecs.imread_0(Ljava/lang/String;I)J
Строка кода, в которой возникает это исключение, выглядит следующим образом:
flowerTemplate = Imgcodecs.imread("/templates/flowerpot_white.png", Imgcodecs.IMREAD_COLOR);
Я пробовал несколько решений, предложенных по аналогичным вопросам в StackOverflow и в других местах на Inte rnet, включая:
- Указание на папку собственной библиотеки с помощью переменной «Местоположение собственной библиотеки» в определении пользовательской библиотеки в Eclipse.
- Добавление местоположения папки собственной библиотеки в мою Переменная PATH.
- Добавление местоположения .dll собственной библиотеки в мою переменную PATH.
- Настройка конфигурации запуска Eclipse для добавления папки собственной библиотеки и местоположений .dll к переменным PATH и CLASSPATH.
- Загрузка библиотеки с соответствующим кодом Java каждым из трех предложенных мной способов, в трех разных местах, которые все запускаются перед кодом, который генерирует исключение.
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
System.load(<path_to_the_dll>);
File opencvLibrary = new File(System.mapLibraryName(Core.NATIVE_LIBRARY_NAME));
System.load(opencvLibrary.getAbsolutePath());
- Помещение рассматриваемого .dll в исходную папку и во все подпапки. Я запускаю его из Eclipse, поэтому это также рабочий каталог программы.