Eclipse中的OpenCV 3.0.0 java.lang.UnssubfiedLinkError

2022-07-04 00:00:00 ubuntu-14.04 opencv3.0 java eclipse

我正在尝试使用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++(露娜)或Python代码时,OpenCV工作正常。 我的操作系统是Ubuntu 14.04。

非常感谢您的帮助。


解决方案

好了,找到解决方案了。 需要在Main中添加以下代码行:

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

相关文章