我在 eclipse-ubuntu 中为 opencv 设置 native 库路径时遇到问题。我正在使用 ubuntu 15.04。安装了 opencv 3.1.0,点击此链接 http://milq.github.io/install-opencv-ubuntu-debian/ 并在 eclipse 中添加新库(OpenCV)并将其 jar 路径设置为
/home/user/opencv-3.1.0/build/bin/opencv-310.jar
和 native 库路径为
/home/user/opencv-3.1.0/build/lib
lib
文件夹包含.so
和.a
文件。但是当我尝试使用 Mat 对象时,它给我错误:here is Main Method
System.out.println("Welcome to OpenCV hhhh " + Core.VERSION);
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat img=new Mat();
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat()J
at org.opencv.core.Mat.n_Mat(Native Method)
at org.opencv.core.Mat.<init>(Mat.java:24)
如果我像这样使用垫子
Mat m1 =Imgcodecs.imread("/home/zed/Desktop/img.png");
然后它给我 diff 错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.imgcodecs.Imgcodecs.imread_1(Ljava/lang/String;)J
at org.opencv.imgcodecs.Imgcodecs.imread_1(Native Method)
at org.opencv.imgcodecs.Imgcodecs.imread(Imgcodecs.java:102)
我是否为本地库提供了正确的路径?如果不是,那么 native 库在 eclipse-ubuntu 中使用 Opencv3.1.0 的正确路径是什么
最佳答案
你应该添加
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
主要内容:
public static void main(String[] args) {
System.out.println("Welcome to OpenCV hhhh " + Core.VERSION);
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m1 =Imgcodecs.imread("/home/zed/Desktop/img.png");
Mat m2=new Mat();
}
希望这对您有所帮助!
关于java - 在 eclipse-ubuntu 中使用 OpenCV 的正确 native 库路径是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35079770/