繁体   English   中英

Eclipse中的OpenCV 3.0.0 java.lang.UnsatisfiedLinkError

[英]OpenCV 3.0.0 java.lang.UnsatisfiedLinkError in 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)

一切都根据该站点进行设置。在Eclipse中设置Java OpenCV

还使用以下命令将路径添加到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);

如果要使用Eclipse在Windows中配置OpenCV,请执行以下步骤:

  1. 从此链接下载OpenCV 2.4.11或任何版本https://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.11/opencv-2.4.11.exe/download
  2. 提取它。
  3. 打开日食。
  4. 创建一个新的Java项目。
  5. 添加OpenCV jar。

    • 右键单击该项目。
    • 选择构建路径。
    • 单击配置构建路径。
    • 单击库。
    • 添加外部罐子。
    • 打开OpenCV提取的文件夹。
    • 打开build / java /
    • 选择opencv-2411.jar并打开。
    • 单击应用。
    • 单击确定。
  6. 添加本机库。

您可以通过以下方式使用OpenCv本机库:

  • 将本机库添加到您的opencv jar中。
  • 使用System.load()方法指向Java中的本机库,但请确保必须指定本机库路径。

将本机库添加到您的opencv jar

  • 右键单击该项目。
  • 选择构建路径。
  • 单击配置构建路径。
  • 单击库。
  • 展开opencv jar。
  • 单击本机库。
  • 单击右侧面板中的“编辑”按钮。
  • 单击外部折页。
  • 打开OpenCV提取的文件夹。
  • 打开build / java / x64。(如果您的操作系统是64位,则选择x64,否则选择x86)。
  • 单击确定。
  • 单击应用。
  • 单击确定。

指向Java类中的本机库

  • 将“ opencv_java2411.dll”的位置从opencv \\ build \\ java \\ x64传递到System.load(“ opencv dll的路径”)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM