java - 在 eclipse-ubuntu 中使用 OpenCV 的正确 native 库路径是什么

标签 java eclipse opencv3.0 ubuntu-15.04

我在 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();

这是我的代码和控制台的截图 enter image description here 它给我错误:

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/

相关文章:

java - 替换多个 JFrame

java - 分发预配置的 Eclipse 的好解决方案?

python - OpenCV - 在将图像写入文件时指定格式 (cv2.imwrite)

创建 JSONArray 时发生 Java JSONException

java - 如何编写字符串扁平化器?

java - 查看覆盖方法的默认行为

java - 如何确定 "debug mode"是否启用

c++ - 安装opencv后如何安装OpenCV_contrib模块

c - XGetImage() 中缺少鼠标指针

java - Soap 如何支持异步调用而 Rest 不支持?