Java 8 opencv简单示例UnsatisfiedLinkError [英] Java 8 opencv easy example UnsatisfiedLinkError

查看:256
本文介绍了Java 8 opencv简单示例UnsatisfiedLinkError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想学习opencv,所以我想运行此代码示例.

I would like to learn opencv so I wanted to run this code code example.

我已经从opencv 3.4.2下载了软件包,已在intellij Java版本8中严格添加.版本3.20 mi正常工作,但需要3.4.2或更高版本.请帮助,我不能做什么.这是我的代码:

I have downloaded package from opencv 3.4.2, rigidly added in intellij, java version 8. Version 3.20 mi works properly but needs a higher version of 3.4.2 or higher. Please help, I can not do what. This is my code:

public class Main {

    public static void main(String[] args) {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        System.out.println("Welcome to OpenCV " + Core.VERSION);
        Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
        System.out.println("OpenCV Mat: " + m);
        Mat mr1 = m.row(1);
        mr1.setTo(new Scalar(1));
        Mat mc5 = m.col(5);
        mc5.setTo(new Scalar(5));
        System.out.println("OpenCV Mat data:\n" + m.dump());
    }
}

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Work\opencv\opencv\build\java\x64\opencv_java342.dll: Can't find dependent libraries
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2430)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2487)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2684)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2649)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
    at java.base/java.lang.System.loadLibrary(System.java:1867)
    at Main.main(Main.java:9)

推荐答案

您需要使用以下命令加载.dll或.so库:

You need to load .dll or .so library using:

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

System.load(PATH_TO_NATIVE_LIB);

接下来,您需要向pom.xml添加依赖项:

Next you need to add dependency to pom.xml:

<dependency>
    <groupId>org.openpnp</groupId>
    <artifactId>opencv</artifactId>
    <version>3.4.2-1</version>
</dependency>

库版本和依赖版本必须相同.

Library and dependency versions must be the same.

这篇关于Java 8 opencv简单示例UnsatisfiedLinkError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆