线程“主”中的异常java.lang.NoClassDefFoundError:org / opencv / core / Core

时间:2019-06-26 08:58:01

标签: java windows eclipse opencv

我使用OpenCV已有很长时间了。但这是我第一次在eclipse中使用java。我遵循了这个tutorial

要在月食中导入OpenCV 4.1.0。我什至搜索了很多网站,它们的步骤完全相同。每次我运行代码时,我都会得到这个**错误*

    Exception in thread "main" java.lang.NoClassDefFoundError: org/opencv/core/Core
        at abss123.Openc_importing.main(Openc_importing.java:18)
    Caused by: java.lang.ClassNotFoundException: org.opencv.core.Core
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
        ... 1 more

有些人正在谈论更改POM文件或其他内容,但是我并不十分了解。我在opencv的源文件中找到了POM文件,但是在构建中找不到该POM文件,这意味着需要从源进行构建。我尝试使用"opencv_java410.dll"命令加载System.load(...)仍然不起作用

我也尝试将Lib文件夹和bin文件夹添加到Windows环境中。但仍然没有任何效果。我将发布我的代码,并注释了一些命令以指示我尝试了它。希望您能帮助我,因为昨天以来我一直陷入这个问题。

package abss123;
import org.opencv.imgproc.Imgproc;
import org.opencv.video.*;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.imgcodecs.*;
import org.opencv.highgui.HighGui;
import java.io.*;

public class Openc_importing {

        public static void main(String args[]) {
        //LoadOpencv() ; 
        //nu.pattern.OpenCV.loadShared();
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
        Mat image = new Mat(); 
        image = Imgcodecs.imread("MYPT000001.jpg"); 
        HighGui.imshow("First time", image);

    }

    static void LoadOpencv() {      
        System.load("C:\\opencv\\build\\java\\x64\\opencv_java410.dll");
    }
}

2 个答案:

答案 0 :(得分:1)

我在OpenCV的3.4或4.2版本中遇到此错误,并且我通过卸载OpenCv 4.2并安装了3.2.0解决了该错误。问题解决了。

答案 1 :(得分:0)

我通过卸载所有内容,java和eclibs并重新安装来解决此问题。然后只需遵循相同的教程即可。