【问题标题】:Import opencv to use with java导入opencv以与java一起使用
【发布时间】:2015-12-07 06:28:22
【问题描述】:

我正在尝试将 openCV 库包含在一个小 java code 中。由于我没有使用任何 IDE,所以我使用以下命令进行编译:

$ javac -cp $CLASSPATH:/usr/local/Cellar/opencv/2.4.12/share/OpenCV/java/opencv-2412.jar Webcam.java

(我使用 brew 安装了 openCV)

它编译得很好,但是当我运行它时,抛出:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java2412 in java.library.path

从这一行开始:

System.loadLibrary("opencv_java2412");

有人可以帮我吗?

----- 编辑-----

我也尝试过使用:

$ export CLASSPATH=$CLASSPATH:/usr/local/Cellar/opencv/2.4.12/share/OpenCV/java/opencv-2412.jar 

然后:

$ javac Webcam.java
$ java Webcam

得到相同的结果

【问题讨论】:

  • 你使用什么命令来运行你的程序?您是否确保 opencv-2412.jar 在运行时和编译时都在您的类路径中?
  • Just 'java Webcam' :o 如何在运行时添加它?
  • 您的 opencv 安装是否带有某种在运行时使用的本机库?我注意到这个 jar 被称为 opencv-2412.jar,但您尝试加载的库是 opencv_java2412。尝试在您的 OpenCV 目录中查找 lib 目录或其他内容?
  • 如果这不起作用,我就没有主意了。我希望有更多mac/osx知识的人来。

标签: java macos opencv jar


【解决方案1】:

您可以使用 -Djava.library.path=PATH_TO_YOUR_LIBS 选项 实际上,您可以解压 .so 文件(库)并设置此库的路径。

【讨论】:

    【解决方案2】:

    我终于解决了直接从代码中加载lib,替换:

    System.loadLibrary("opencv_java2412");
    

    System.load("/usr/local/Cellar/opencv/2.4.12/share/OpenCV/java/libopencv_java2412.dylib");
    

    【讨论】:

      【解决方案3】:

      我看到接受的答案确实有效,但我也遇到了这个问题,并认为我应该写下我所做的。我也用 Homebrew 安装了 OpenCV,所以我的库和上面一样。

      是的,您需要设置 java.library.path,例如(我在这里使用 OpenCV 3.1.0):

      -Djava.library.path=/usr/local/Cellar/opencv3/3.1.0_3/share/OpenCV/java
      

      在我看到的代码示例中,库是用 Java 加载的:

      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      

      Core.NATIVE_LIBRARY_NAME 解析为“opencv_java310”的地方。它实际查找的本机库名称是:

      libopencv_java310.dylib
      

      或者如果没有找到,那么:

      libopencv_java310.jnilib
      

      然而,Homebrew 只提供了 libopencv_java310.so 并且需要一个符号链接:

      cd /usr/local/Cellar/opencv3/3.1.0_3/share/OpenCV/java
      
      ln -s libopencv_java310.so libopencv_java310.dylib
      

      在那之后一切都开始起作用了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-07
        • 2014-01-28
        • 2017-07-02
        • 1970-01-01
        • 2014-09-24
        • 1970-01-01
        • 1970-01-01
        • 2015-07-24
        相关资源
        最近更新 更多