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]を押すと終了します。


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

コメントを残す

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