java - Eclipse 中的 OpenCV 3.0.0 java.lang.UnsatisfiedLinkError

标签 java eclipse ubuntu-14.04 opencv3.0

我正在尝试使用 OpenCV 3.0.0 设置 Eclipse(Neon 版本),但遇到了问题。 当我加载图像时,代码如下:

Mat m = Imgcodecs.imread("newimage.jpg");

抛出以下错误:

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:82)
    at TestOpenCVFeats.main(TestOpenCVFeats.java:39)

一切都是按照这个网站设置的 Set up OpenCV for Java in Eclipse

还添加了 java.library.path 的路径:

export LD_LIBRARY_PATH = $LD_LIBRARY_PATH:/usr/local/share/OpenCV/java

确认它在那里:

java -XshowSettings:properties

并添加到 $PATH 变量。

还将此命令添加到 JVM 运行配置中:

-Djava.library.path= "/usr/local/share/OpenCV/java"

还尝试过使用这行代码和不使用它:

System.loadLibrary("libopencv_java300");

/usr/local/share/OpenCV/java 路径下的文件权限为:

-rwxr-xr-x 1 root root 831809 Srp  1  2015 libopencv_java300.so
-rwxr-xr-x 1 root root 300815 Srp  1  2015 opencv-300.jar

我已经尝试了所有可能的组合,但仍然遇到相同的错误。 我不知道我还能尝试什么来使这项工作成功。 当我执行 c++ (Eclipse Luna) 或 python 代码时,OpenCV 可以正常工作。 我的操作系统是Ubuntu 14.04。

非常感谢任何帮助。

最佳答案

好吧,找到解决办法了。 main中需要添加这行代码:

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

关于java - Eclipse 中的 OpenCV 3.0.0 java.lang.UnsatisfiedLinkError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39817457/

相关文章:

java - 如何编写一个程序,可以不断地要求用户输入,直到输入满足运行代码的特定要求?

java - 飞行中的 split

java - 覆盖 android 硬件后退按钮功能

java - Eclipse 中的自动导入

mysql - IntegrityError at/accounts/signup/in django

javascript - 环境变量在路径中返回 null

Java getUserObject() 返回字符串而不是用户对象

java - 在 AsyncTask 中使用从 LoaderManager 返回的 Cursor

android - 连接 Android 设备后 Eclipse 调试 View 中的 NullPointerException

bash - 如何修复我的 GOROOT 和 GOPATH 变量以运行 go?