Imaginary Code

from kougaku-navi.net

ProcessingでコンピュータビジョンライブラリBoofCVを使う

BoofCVというJava用のコンピュータビジョンライブラリがあります。これを使うと基本的な画像処理に加え、オブジェクトトラッキングや特徴量抽出、ステレオ画像計測、領域セグメンテーション、モザイキングなどができます。機能豊富なOpenCVと比べると見劣りしますが性能はなかなか。Androidでも利用できるようです。



ありがたいことにProcessing版もあるのですが、ライブラリを自分でビルドしないといけないようです。
Tutorial Processing - BoofCV

というわけで、トライしてみたので導入方法をメモしておきます。

要点

  • Gradle(グレイドル)なるビルドツールを使います。
  • JDKJavaの開発環境)をインストールしておく必要があります。
  • ビルド時にProcessingに同梱されているcore.jarが必要です。

以下、実際にやった作業手順を記しておきます。環境はこんな感じ。自分の環境にあわせて読み替えてください。

  • Windows 7 (64bit)
  • Gradle v2.0
  • JDK : Java SE 8u20
  • Processing v2.2.1
  • BoofCV v0.17

JDKのインストール

  1. JDKのダウンロードページに行く。
  2. Java SE 8u20、Windows 64bit版のJDKjdk-8u20-windows-x64.exe)をダウンロードし、インストール。
  3. 環境変数の設定で C:\Program Files\Java\jdk1.8.0_20 を JAVA_HOME に設定。JAVA_HOMEの設定方法はこの辺を参考に → PATHの設定及び環境変数JAVA_HOMEの設定 | Java入門

Gradleのインストール

  1. Gradleのダウンロードページに行き、gradle-2.0-bin.zip (binaries only)をダウンロード。
  2. gradle-2.0-bin.zipを解凍後、できたフォルダ gradle-2.0 をCドライブの直下に移動。
  3. 環境変数の設定で C:\gradle-2.0\bin にパスを通す。
  4. コマンドプロンプトを起動し、以下のようにタイプしてバージョン確認。この時点でエラーが出なければOK。
gradle --version

BoofCVのビルド

  1. BoofCVのページの Source Code と書かれたリンクからソースコードをダウンロード。
  2. ダウンロードした boofcv-v0.17-src.zip を解凍。
  3. Processingのインストールフォルダ内の \core\library に入っている core.jar をコピーし、解凍してできたフォルダ内の \integration\processing の中におく。
  4. コマンドプロンプトを起動し、 \integration\processing ディレクトリにcdコマンドで移動。
cd \boofcv-v0.17-src\integration\processing

5. 以下のようにタイプするとビルドが始まる。

gradle processingZip

6. しばし待つと、boofcv_processing.zipというファイルが生成される。

Processingで使う

  1. boofcv_processing.zipを解凍するとboofcv_processingというフォルダができるので、これをProcessingのスケッチフォルダのlibrariesフォルダの中に入れる。
  2. Processingを起動し、File -> Examples... を選択。
  3. Contributed Libraries -> BoofCV for Processing の中にサンプルがいろいろ入ってるので遊ぶ。
  4. おわり!


これはTrackingObjectというサンプル。マウスで範囲選択するとその対象をトラッキングします。