前提
Gradle を使って Java のアプリケーションを作成します。
Gradle のインストール方法、基本的な使い方などについては記載しません。
筆者の実行環境は次の通りです。
$ gradle --version
------------------------------------------------------------
Gradle 7.4.2
------------------------------------------------------------
Build time: 2022-03-31 15:25:29 UTC
Revision: 540473b8118064efcc264694cbcaa4b677f61041
Kotlin: 1.5.31
Groovy: 3.0.9
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 11.0.11 (JetBrains s.r.o 11.0.11+9-b60-7590822)
OS: Windows 10 10.0 amd64
手順
コマンドプロンプトから以下のコマンドを実行します。
# 作業用フォルダを作成し、カレントディレクトリを変更する。
$ mkdir hogehoge\work\TestJavaCv
$ cd hogehoge\work\TestJavaCv
# Java アプリケーションを初期化する。
# いくつか質問されるが、全てデフォルト設定(単純に Enter を押下)で問題なし。
$ gradle init --type java-application
生成された"TestJavaCv\app\build.gradle"に下記の変更を加え、OpenCV(JavaCV)の依存関係を追加します。
JavaCV と対応する OpenCV のバージョンの確認は次のファイルから確認できます。
URL: https://github.com/bytedeco/javacv/blob/<JavaCV のバージョン(例:1.5.6)>/pom.xml
dependencies {
// Use JUnit test framework.
testImplementation 'junit:junit:4.13.2'
// This dependency is used by the application.
implementation 'com.google.guava:guava:30.1.1-jre'
++ // OpenCV(JavaCV)の依存関係を追加。
++ implementation group: 'org.bytedeco', name: 'opencv-platform', version: '4.5.3-1.5.6'
}
試しに OpenCV(JavaCV)を使ってみます。
生成された"TestJavaCv\app\src\main\java\TestJavaCv\App.java"を以下の内容に変更します。(コピペしてください)
package TestJavaCv;
import org.bytedeco.opencv.global.opencv_highgui;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Point;
import org.bytedeco.opencv.opencv_core.Scalar;
import org.opencv.core.CvType;
public class App {
public String getGreeting() {
return "Hello World!";
}
public static void main(String[] args) {
System.out.println(new App().getGreeting());
// 480x270 の真っ白の画像を作成
Mat mat = new Mat(270, 480, CvType.CV_8UC3, new Scalar(255, 255, 255, 255));
// 中央に赤色の円を描画
opencv_imgproc.circle(mat, new Point(mat.cols()/2, mat.rows()/2), mat.rows()/4, new Scalar(0,0,255,255), -1, 0, 0);
// 画像の表示
opencv_highgui.imshow("test", mat);
opencv_highgui.waitKey(0);
}
}
次のコマンドを実行することで、ビルド・実行が可能です。
$ gradle build
$ gradle run
先ほど記載したソースコードを実行すると、日本国旗っぽい画像(下図)が表示され、OpenCV(JavaCV)を利用できていることが確認できます。