我正在尝试使用 opencv 对 Java 中的矩阵进行一些操作。我正在使用 Netbeans IDE。
当我尝试使用构造函数声明一个新矩阵时,就会出现问题,然后我在控制台中收到以下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.imgcodecs.Imgcodecs.imread_0(Ljava/lang/String;I)J
at org.opencv.imgcodecs.Imgcodecs.imread_0(Native Method)
at org.opencv.imgcodecs.Imgcodecs.imread(Imgcodecs.java:93)
at imagecomparator.Mini.compareFeature(Mini.java:62)
at imagecomparator.Mini.main(Mini.java:37)
Java 结果:1
我的代码如下:
public static int compareFeature(String filename1, String filename2) throws IOException {
int retVal = 0;
long startTime = System.currentTimeMillis();
System.out.println(System.getProperty("java.library.path"));
System.load( "C:\\Windows\\System32\\opencv_java310.dll" );
// Load images to compare
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat img1 = Imgcodecs.imread(filename1, Imgcodecs.CV_LOAD_IMAGE_COLOR);
Mat img2 = Imgcodecs.imread(filename2, Imgcodecs.CV_LOAD_IMAGE_COLOR);
}
我做错了什么导致了这个错误吗?
最佳答案
我遇到了同样的错误,因为我没有先加载 opencv .dll 文件。
在调用代码之前,请检查 System.load("opencv dll directory")
是否已执行。
关于java.lang.UnsatisfiedLinkError : org. opencv.imgcodecs.Imgcodecs.imread_0(Ljava/lang/String;I)J,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37413197/