HomebrewとXcode4でつくるOpenCVの環境


前回、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の環境」への4件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です