我正在尝试使用 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/