[英]Java 8 opencv easy example UnsatisfiedLinkError
我想學習opencv,所以我想運行此代碼示例。
我已從intellij Java版本8中嚴格添加的opencv 3.4.2下載了程序包。3.20 mi版本可以正常工作,但需要3.4.2或更高版本。 請幫助,我不能做什么。 這是我的代碼:
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庫:
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
要么
System.load(PATH_TO_NATIVE_LIB);
接下來,您需要向pom.xml添加依賴項:
<dependency>
<groupId>org.openpnp</groupId>
<artifactId>opencv</artifactId>
<version>3.4.2-1</version>
</dependency>
庫版本和依賴版本必須相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.