哪里可以买到openCV的罐子?


问题内容

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

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

如何获取这些.jar文件?


问题答案:

您可以openCV此链接中找到用于Linux的jar,它们可以在Internet上四处闲逛。但是,除非您拥有本机库,openCV才能完成其工作,否则它将无法工作。

确保在Eclipse
Java项目中可用的openCV的肯定方法是从源代码编译您自己的jar文件,以使其可用,如下所述:https :
//udallascs.wordpress.com/2014/03/30/adding-opencv-
and使用Eclipse和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应用程序。