Processing3.3 + OpenCV 3.2.0 環境構築&テンプレートマッチング(Mac)

Processing3.3 + OpenCV 3.2.0 環境構築&テンプレートマッチング(Mac)

久しぶりにProcessingとOpenCVで試してみたので,メモ.
 
 
1. Processingのインストール
Processingサイトから環境に合った最新版をダウンロード.
Processingはダウンロードしたファイルを解凍するだけで,そのまま使えます.
 
 
2. ProcessingにOpenCVライブラリを追加
メニューの「スケッチ」→「ライブラリを追加」からContribution Managerを起動.
LibrariesでOpenCVを選択し,Installする.


 
これで,OpenCVがProcessingで使えるようになります.
しかし,何故か,テンプレートマッチングのコードを動かしたところ,
No library found for org.opencv.core.Core
というエラーが出て止まってしまいます.
結局,OpenCVサイトからOpenCV3.2.0をダウンロードして,インストールしてみることに.
 

3.OpenCVのインストール
2でダウンロードしたzipファイルを展開.適当な場所へコピーします.

HomeBrewが入っていない場合はインストールしておきます.
ターミナルで,

このスクリプトを実行すればいいだけですが,変わっている可能性もあるので,最新版はサイトでチェックしてください.
 
HomeBrewがインストールできたら,そのままターミナルで,以下のコマンドを入力.

これで,OpenCVがProcessingで使えるようになります.

eclipseなどで使いたい場合は,まだ更に設定が必要ですが,それはまた別の記事で.
 
 
4. テンプレートマッチング
コードは,ほぼコチラを参考にさせていただきました.

 
実行結果
左の画像とマッチしている部分が赤枠で囲まれます.

 
問題点
テンプレートマッチングは比較的簡単にできますが,比較する画像同士の大きさや解像度,向き,写真の場合は光の当たり具合による色の変化に大きく依存します.
つまり,元画像から直接切り出した画像を用いて,それが元画像のどの部分かを探すことはできますが,似ている画像や少し変化をつけた画像から探し出すのはほぼできません.
そういったことがしたい場合,特徴点検出(SIFTやSURFなど)を使うか,機械学習が必要になりそうです.