我正在尝试在我的java项目中使用openCV,因为它是一个单独的包,我需要使用jar文件添加它。我正在尝试按照此指南将其集成到intellij IDE https://medium.com/@aadimator/how-to-set-up-opencv-in-intellij-idea-6eb103c1d45c中
但该指南要么过时了,要么不是为安装了mac homebrew的openCV版本设计的。该指南告诉我,jar文件和本地库可以在opencv/build/java/下找到
但这看起来一点也不像我的目录结构。我能找到的最接近的东西是opencv/4.3.0/share/java
我试图将jar文件作为模块添加到我的intellij IDE中,但是当我尝试运行一些测试openCV代码时,我得到了这个错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: 'long org.opencv.core.Mat.n_Mat(int, int, int, double, double, double, double)'
at org.opencv.core.Mat.n_Mat(Native Method)
at org.opencv.core.Mat.<init>(Mat.java:77)
at RGBParser.testOpenCV(RGBParser.java:42)
at RGBParser.makeSynopsis(RGBParser.java:260)
at Layout.<init>(Layout.java:94)
at Main.main(Main.java:3)从这个错误中,我猜测我没有正确地链接本机扩展,因为我根本没有添加jar文件,编译器抛出一个不同的错误,指出无法找到包:
Error:(13, 23) java: package org.opencv.core does not exist我的目标是能够运行使用openCV类的java代码,例如下面的代码片段:
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.core.Scalar;
public static void testOpenCV() {
System.out.println("Welcome to OpenCV " + Core.VERSION);
Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
System.out.println("OpenCV Mat: " + m);
Mat mr1 = m.row(1);
mr1.setTo(new Scalar(1));
Mat mc5 = m.col(5);
mc5.setTo(new Scalar(5));
System.out.println("OpenCV Mat data:\n" + m.dump());
}发布于 2020-04-28 07:55:31
在我的测试代码中添加System.loadLibrary(Core.NATIVE_LIBRARY_NAME);解决了这个问题。
https://stackoverflow.com/questions/61458475
复制相似问题