openCV 核心扩展的 Java jar 库在哪里,以便我可以在我的 Java 代码中导入它?
我找不到一个他们教过如何正确设置所有内容的地方。我正在使用Ubuntu 12.04
并且安装了 openCV。我想在 Eclipse IDE 中使用它,而 Eclipse 需要一个 jar 文件以便我可以使用 openCV 函数。我看到了以下链接,它使用了import org.opencv.core.Core;
我怎样才能得到那些 .jar 文件?
您可以在此链接中找到适用openCV
于 linux 的jars 。但是,除非您有本地库 openCV 需要完成它的工作,否则它不会工作。
在 eclipse java 项目中获取 openCV 的可靠方法是从源代码编译您自己的 jar 文件以使其可用,如下所述: https ://udallascs.wordpress.com/2014/03/30/adding-opencv-and -configuring-to-work-with-eclipse-and-java/
这是 Linux 的指令集,打开终端并运行以下命令:
cd ~
mkdir Vision
cd Vision
git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=OFF ..
make -j8
如果一切成功,那么您的 jar 将位于 bin 目录下的 be 下:
./bin/opencv-300.jar
将该 opencv-300.jar 移动到项目的 lib 目录中,并将其作为外部 jar 包含在内。这是使用它的准系统程序。
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
public class Main {
public static void main(String[] args) {
System.out.println("Welcome to OpenCV " + Core.VERSION);
System.out.println(System.getProperty("java.library.path"));
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println("m = " + m.dump());
}
}
在 Eclipse 中,您的 jar 文件将需要您之前构建的本机库才能使用。所以在eclipse中,导航到:
Project->Properties->Java Build Path->Libraries tab-> Add external jars -> opencv-300.jar
然后双击:“本机库位置”并输入构建它的构建/库,在我的例子中:/home/el/Vision/opencv/build/lib
运行java程序,程序打印:
Welcome to OpenCV 3.0.0-dev
/home/el/Vision/opencv/build/lib
m = [1, 0, 0;
0, 1, 0;
0, 0, 1]
如果您想将此程序提供给其他人并让他们能够运行它,他们将需要在他们的系统上安装 openCV 版本 3.0.0,否则 java 程序将找不到库并立即退出。
为什么这么难,为什么这不仅仅是一个简单的罐子?
因为 openCV 是用 C 编写的,而 jar 文件只是进入 C 世界的一个窗口。因此,我们必须制作一台Rube Goldberg机器,以使 OpenCV 中的方法可用于您的 Java 应用程序。