Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse中的OpenCV 3.0.0 java.lang.UnsatifiedLinkError_Java_Eclipse_Ubuntu 14.04_Opencv3.0 - Fatal编程技术网

Eclipse中的OpenCV 3.0.0 java.lang.UnsatifiedLinkError

Eclipse中的OpenCV 3.0.0 java.lang.UnsatifiedLinkError,java,eclipse,ubuntu-14.04,opencv3.0,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.im

我试图用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)
一切都是根据这个网站设置的

还添加了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
我尝试了所有可能的组合,仍然得到相同的错误。 我不知道我还能做些什么来让这一切顺利进行。 OpenCV在执行C++(Eclipse Luna)或Python代码时工作正常。 我的操作系统是Ubuntu 14.04


非常感谢您的帮助。

好的,我们找到了解决方案。 这行代码需要添加到main中:

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

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

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

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

  • 从该链接下载OpenCV 2.4.11或任何版本
  • 把它取出来
  • 打开eclipse
  • 创建一个新的Java项目
  • 添加OpenCV jar

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

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

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

    将本机库添加到opencv jar

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

    指向java类中的本机库

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

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

  • 从该链接下载OpenCV 2.4.11或任何版本
  • 把它取出来
  • 打开eclipse
  • 创建一个新的Java项目
  • 添加OpenCV jar

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

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

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

    将本机库添加到opencv jar

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

    指向java类中的本机库

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