java - 我如何让我的 java 程序在 linux 中正确导入 javacv 库(编辑 - 现在得到 unsatisfiedLinkError)

标签 java linux opencv raspberry-pi

我目前正在尝试让 opencv 和 javacv 在我的树莓派上运行。

我关注了this tutorial

我相信我已经正确设置了一切。

当前文件夹路径如下所示。

/home/pi/build - The three javacv libs (javacpp.jar, javacv.jar and javacv-linux-arm.jar)


the opencv jar is located at
/home/pi/build/opencv/opencv-2.4.11/release/bin - opencv-2411.jar

OpenCv 附带了一些 java 示例,我正在查看的示例位于

home/pi/build/opencv/opencv-2.4.11/samples/java/eclipse/Hellocv/src/Main.java

这是代码本身。

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;

public class Main {

    public static void main(String[] args) {
        System.out.println("Welcome to OpenCV " + Core.VERSION);
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Mat m  = Mat.eye(3, 3, CvType.CV_8UC1);
        System.out.println("m = " + m.dump());
    }

}

然而,当我编译它时(包含或不包含类路径),我得到了错误

package.org.opencv.core does not exist.

编辑 - 如果相关,我也在使用新的 Raspberry Pi 2 B+

EDIT 2/3(改进细节

它编译命中

javac -cp .:/home/pi/build/opencv/opencv-2.4.11/release/bin/opencv-2411.jar:/home/pi/build/opencv/opencv-2.4.11/release/lib Main.java

但是当我运行它时失败了,在“system.loadlibrary”行

java -cp .:/home/pi/build/opencv/opencv-2.4.11/release/bin/opencv-2411.jar:/home/pi/build/opencv/opencv-2.4.11/release/lib Main

错误是

unsatisfiedlinkerror: no opencv_java2411 in java.library.path

我试过查找这个,但大多数解决方案都是针对 Windows 的。我在我的类路径中提供了一个指向 opencv_java2411.jar 文件的直接链接,所以我不确定为什么它不会运行。

最佳答案

我有同样的问题,我通过这样做解决了它: 将opencv-2411.jar文件复制到程序所在位置(Main.java) 并提取 opencv-2411.jar 文件

jar xf opencv-2411.jar

关于java - 我如何让我的 java 程序在 linux 中正确导入 javacv 库(编辑 - 现在得到 unsatisfiedLinkError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29915478/

相关文章:

java - Apache Drill 检查目录中文件的结构

windows - 堆栈增长在 Windows 和 Linux 上如何工作?

屏幕输出中空行的linux Makefile语法

c++ - opencv - rgb值不断变化

python - 如何从 dlib.simple_object_detector 获得置信度

python - 使用 anaconda2 安装 python caffe (pycaffe)

java - 在 Java 中更改变量值的最传统方法是什么?

java - 由于无法识别选项 : --module-path,在 Netbeans 11 中运行示例 JavaFX Maven 时出错

java - java 和 javascript 中的正则表达式

c++ - clock_gettime() 每 50-100 毫秒返回大约 1-2 毫秒的误差(Virtualbox 上的 Debian wheezy)