【问题标题】:What is correct Native Library Path to use OpenCV in eclipse-ubuntu在 eclipse-ubuntu 中使用 OpenCV 的正确本机库路径是什么
【发布时间】:2016-05-06 21:47:15
【问题描述】:

我在 eclipse-ubuntu 中为 opencv 设置本机库路径时遇到问题。我正在使用 ubuntu 15.04.installed 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

原生库路径为

/home/user/opencv-3.1.0/build/lib

lib 文件夹包含 .so.a 文件。但是当我尝试使用 Mat 对象时,它给了我错误:这里是 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");

然后它给了我差异错误:

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 Library 在 eclipse-ubuntu 中使用 Opencv3.1.0 的正确路径是什么

【问题讨论】:

    标签: java eclipse opencv3.0 ubuntu-15.04


    【解决方案1】:

    你应该添加

    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();
    }
    

    希望这会有所帮助!

    【讨论】:

    • 我添加了这一行 System.loadLibrary(Core.NATIVE_LIBRARY_NAME);但是同样的错误!!!
    • 您添加了 .jar ?作为外部?
    • 是的,我添加了 opencv_java310.jar 作为外部 jar 并在我的项目属性中添加了来自用户库的 OpenCV 库
    • 实际上线程“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.(Mat.java:24) 这个错误对应添加 System.loadLibrary(Core.NATIVE_LIBRARY_NAME);在调用任何 opencv 之前,您是否在第一次添加了它?可以加个截图吗?
    • 我在我的问题中添加了截图
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 2021-05-07
    相关资源
    最近更新 更多