从哪里获得用于openCV的罐子?[已关闭]

2022-09-03 14:06:29

openCV 核心扩展的 Java jar 库在哪里,以便我可以在 Java 代码中导入它?

我找不到一个地方,他们教过如何正确设置一切。我正在使用并且已安装 openCV。我想在eclipse IDE中使用它,eclipse需要一个jar文件,以便我可以使用openCV函数。我看到以下链接,其中使用了Ubuntu 12.04import org.opencv.core.Core;

如何获取这些.jar文件?


答案 1

你可以找到用于linux的jars在互联网上踢球,就像这个链接一样。但是,除非您有本机库openCV需要完成其工作,否则它将不起作用。openCV

在 eclipse java 项目中提供 openCV 的可靠方法是从源代码编译你自己的 jar 文件,使其可用,如下所述:https://udallascs.wordpress.com/2014/03/30/adding-opencv-and-configuring-to-work-with-eclipse-and-java/

以下是Linux的指令jist,打开一个终端并运行这些命令:

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 目录下:

./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 文件将需要您之前构建的本机库才能使用。因此,在日食中,导航到:

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应用程序。


答案 2

推荐