我在这里撞墙撞了我的头。有很多非常相似的问题,但没有一个问题。我确定答案正在盯着我。
我正在进行我的第一次OpenCV交叉编译测试。我在Windows 10上的Eclipse中设置了OpenCV 3.1.0。代码运行良好。从那里我创建了一个可执行文件.jar和FTP,它是一个运行Jessie的树莓派3。
我在Pi上安装了OpenCV 3.1.0,包括java支持(第三次尝试)。但我继续得到同样的错误。
代码:
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
public class Hello
{
public static void main( String[] args )
{
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
System.out.println( "mat = " + mat.dump() );
}
}
错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at Hello.main(Hello.java:9)
我在/ usr / local / share / OpenCV / java中找到了opencv-java310.jar
我在命令行上尝试过使用和不使用-D参数:
java -jar HelloEx.jar -D java.library.path=/usr/local/share/OpenCV/java
提前致谢
答案 0 :(得分:1)
我不确定你是否正确设置java.library.path,因为在你的起始帖子中它是不正确的,请尝试使用它如下:Time
你也可以检查它是否设置正确通过添加以下代码(仅用于调试)来创建您的Java代码:java -Djava.library.path=/usr/local/share/OpenCV/java -jar HelloEx.jar