openCV
Linux用の jar は、このリンクのようにインターネットで検索できます。ただし、openCV が動作するために必要なネイティブ ライブラリがない限り、動作しません。
Eclipse Java プロジェクトで openCV を使用できるようにする確実な方法は、https://udallascs.wordpress.com/2014/03/30/adding-opencv-and で説明されているように、ソースから独自の jar ファイルをコンパイルして使用できるようにすることです 。 -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 ディレクトリの下にあります。
./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 アプリケーションで使用できるようにする必要があります。