我正在尝试使用opencv在Java中对Matrix进行一些操作。我正在使用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")
是否已执行。