HomebrewとXcode5でつくるOpenCVの環境

3年前にHomebrew + Xcode 4でOpenCV環境を作る記事を書いたけど、その後Xcodeも5になりHomebrew側もかわったりしてたので、最新の状況にあわせて作り直しました。

Homebrewを使ってOpenCVをインストールする

OpenCVはMacPortsとかソースコードからのビルドでもインストールできるけど、やっぱりHomebrewでインストールするのが手軽。

brew tap homebrew/science
brew install opencv

2014年4月現在、opencvのformulaはhomebrew/science以下に移動されたらしいので、installする前にhomebrew/scienceをtapする必要がある。
Homebrewを使ってopencvをインストールすると、ヘッダファイル等は

/usr/local/Cellar/opencv

ディレクトリ以下にインストールされます。

Xcode5における設定

Xcode 5を使って実際にopencv.jpのサンプルをビルド〜実行してみます。

新規プロジェクト作成

new_project
サンプルプログラムはCのコードで書かれているので、Command Line Toolを選びます。
project settings
Product NameとTypeを設定しますが、あまり特別なことはないですね。

Xcode4ではプロジェクト作成時にgitレポジトリも一緒に作る事ができます。今回はただのテスト目的なので作る必要はないでしょう。

サンプルアプリを書く

動作確認のためのコードを書きます。動作確認だけが目的なのでopencv.jpからビデオ入出力(カメラの内容を表示する)あたりのサンプルコードを拝借して、main.cにそのまま貼付けます。コードの中身を変更する必要はありません。

ビルド設定

当然ながら、このままビルドしようとするとサンプルコードの中で読み込もうとしているOpenCV関連のヘッダーファイル(<cv.h>)が見つからないためエラーになります。

そこで、ビルド時にさっきHomebrewでインストールしたOpenCVのヘッダーファイルを読み込めるように設定してあげる必要があります。
左側のProject navigator上でプロジェクトファイル自体(ツリーの一番上にあるプロジェクト名等が書いてある行)を選択するとビルド関連の設定を行う画面がでてくるので、Build Settingsタブを開いて、そこからHeader Search Pathsを編集します。項目が多いので、右上の検索バーを使ったほうがいいです。あと、表示対象を「Basic」ではなく「All」にするのを忘れずに。
build settings
HomebrewでインストールしたOpenCVのヘッダファイルは/usr/local/Cellar/opencv以下にヘッダファイルもインストールされているので、

/usr/local/Cellar/opencv (recursive)

を設定しておけばヘッダを読みにいけるようになります。
header paths
これで<cv.h>のインポートではエラーがおきなくなりますが、今度はOpenCVのライブラリとリンクの設定が行われていないのでリンクエラーが起きます。
 
Build Settingsタブの隣にあるBuild PhasesタブでOpenCV関連のライブラリのリンクの設定を行います。
link settings
Link Binary With Librariesという項目があるので、ここにプログラムの実行に必要なOpenCVのライブラリを登録します。
スクリーンショット 2014-04-15 21.46.54
リストにはでてこないのでAdd Other…から「/usr/local/Cellar/opencv/バージョン/lib/libopencv_highgui.dylib」を追加します。ちなみに、/usr/local/Cellar/opencvに移動するにはCmd + Shift + Gのショートカットを使って直接パスを入力すると便利。
以上で必要な設定は可能です。
実行して動作確認してみましょう。ちなみに、このサンプルアプリは[ESC]を押すと終了します。

Pocket

「HomebrewとXcode5でつくるOpenCVの環境」への2件のフィードバック

コメントを残す

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