我使用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");
}
}
答案 0 :(得分:1)
我在OpenCV的3.4或4.2版本中遇到此错误,并且我通过卸载OpenCv 4.2并安装了3.2.0解决了该错误。问题解决了。
答案 1 :(得分:0)
我通过卸载所有内容,java和eclibs并重新安装来解决此问题。然后只需遵循相同的教程即可。