前回、MacならQTKit使えよっていう記事を書いたばかりですが、とはいえOpenCVを使わなければ行けない機会も多々あるので、最新のOpenCVの環境の用意についてメモを残しておきます。
Homebrewを使ってOpenCVをインストールする
Snow LeopardにOpenCVをインストールするには、finkを使ったりあるいはソースコードをCMakeでコンパイルしてインストールするなど、色々な方法が考えられますが今回はHomebrewを使う事にしました。理由はただ一つ、速くて手軽だからです。
brew install opencv
2011年6月頭時点では、特に問題も発生せず上記コマンドで無事インストールすることができました。Homebrewを使ってopencvをインストールした場合、ヘッダファイル等は
/usr/local/Cellar/opencv
Xcode4における設定
Xcode4はXcode3と若干勝手が違いますが、使って覚えて慣れるしかないので実際にopencv.jpのサンプルをビルド〜実行してみます。
新規プロジェクト作成
サンプルプログラムはCのコードで書かれているので、Command Line Toolを選びます。
Product NameとTypeを設定しますが、あまり特別なことはないですね。
Xcode4ではプロジェクト作成時にgitレポジトリも一緒に作る事ができます。今回はただのテスト目的なので作る必要はないでしょう。
サンプルアプリを書く
動作確認のためのコードを書きます。動作確認だけが目的なのでopencv.jpからビデオ入出力(カメラの内容を表示する)あたりのサンプルコードを拝借して、main.cにそのまま貼付けます。コードの中身を変更する必要はありません。
ビルド設定
当然ながら、このままビルドしようとするとサンプルコードの中で読み込もうとしているOpenCV関連のヘッダーファイル(<cv.h>)が見つからないためエラーになります。
そこで、ビルド時にさっきHomebrewでインストールしたOpenCVのヘッダーファイルを読み込めるように設定してあげる必要があります。
Xcode4では、左側のProject navigator上でプロジェクトファイル自体(ツリーの一番上にあるプロジェクト名等が書いてある行)を選択するとビルド関連の設定を行う画面がでてきます。
ヘッダーのパスを設定するのは、Build Settingsタブ(?)のSearch PathグループのHeader Search Pathsになります。項目内容の設定方法はXcode3のそれと変わりません。今回は/usr/local/Cellar/opencv以下にヘッダファイルもインストールされているので、
/usr/local/Cellar/opencv (Recursiveにチェックをつける)
を設定しておけばヘッダを読みにいけるようになります。
これで<cv.h>のインポートではエラーがおきなくなりますが、今度はOpenCVのライブラリとリンクの設定が行われていないのでリンクエラーが起きます。
Xcode3ではプロジェクトツリーから右クリックでOpenCVのライブラリ(dylib)を突っ込んでいましたが、Xcode4ではこの設定もプロジェクト設定画面から行います。
Build Settingsタブの隣にあるBuild Phasesタブで設定を行います。Link Binary With Librariesという項目があるので、ここにプログラムの実行に必要なOpenCVのライブラリを登録します。今回のサンプルプログラムは
libopencv_highgui.dylib
だけリンクすればOKです。
以上で必要な設定は可能です。
実行して動作確認してみましょう。ちなみに、このサンプルアプリは[ESC]を押すと終了します。
“HomebrewとXcode4でつくるOpenCVの環境 | なんてこったいブログ” http://t.co/MziQK1h4