Homebrew と Xcode で OpenCV の環境を作る

  • 68
    Like
  • 0
    Comment
More than 1 year has passed since last update.

Xcode の設定周りをよくわすれるのでメモ.

環境

言語は C++
Xcode 6.0.1

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

brew tap homebrew/science
brew install opencv

2014/10/07 現在,OpenCV の Formula は homebrew/science 以下にある( https://github.com/Homebrew/homebrew-science )ので,インストールする前に homebrew/science を tap します.
Homebrew を使って OpenCV をインストールすると,ヘッダファイルたちは/usr/local/Cellar/opencvの下にインストールされます.

Screen Shot 2014-10-07 at 16.14.30.png

Version は 2.4.9 です.

Xcode 側の設定

新規プロジェクト作成

C++ でコードを書くので,Command Line Tool を選択します.

Screen Shot 2014-10-07 at 16.29.51.png

Product Name とか Organization Name,Organization Identifier はお好みで.
ここではそれぞれ以下のように設定しました.

Screen Shot 2014-10-07 at 16.31.02.png

設定したら,Next を押してディレクトリを作る場所を設定して Finish.

ビルド時の設定

ビルド時に Homebrew でインストールした OpenCV のヘッダファイルとライブラリファイルを読み込むように設定する必要があります.

ヘッダファイルの設定

まず,左側の Project Navigator にある Product Name のところを選択し,Build Settings を選択.

Screen Shot 2014-10-07 at 16.42.01.png

その中から,Header Search Paths を探して,/usr/local/Cellar/opencv を追加.そして non-recursive ではなく,recursive にします.

ライブラリファイルの設定

Build Settings の隣にある Build Phases を選択.その中にある Link Binary With Libraries に必要なファイルを追加していきます.
"+" ボタンを押しても OpenCV のライブラリは出てこないので, Finder で目的のディレクトリまで下ってドラッグアンドドロップします.今回は libopencv_highgui.dylib を追加するので,
Finder で /usr/local/Cellar/opencv/VERSION_NAME/lib/ を表示して...

Screen Shot 2014-10-07 at 16.55.46.png

libopencv_highgui.dylib を Xcode の方にドラッグアンドドロップします.

Screen Shot 2014-10-07 at 16.59.02.png

これで OK !

opencv.jp にあるサンプルを動かしてみる

サンプルコードはこれをそのまま使います.
http://opencv.jp/sample/video_io.html#capture

main.cpp にコピペして Run して,カメラの映像が表示されれば成功です.
※ こんな感じ

Screen Shot 2014-10-07 at 17.09.19.png

Esc キーを押せば終了します.

追記

Xcode のプロジェクトにファイルを追加する

プロジェクトフォルダに追加したいファイルを入れる

Xcode の Project Navigator の追加したいファイルがあるディレクトリを右クリック

Add Files to "プロジェクト名"

追加したいファイルを選択して Add

こうすると,Project Navigator に追加したいファイルの名前が表示されます.

その後,Build Phases の Copy Files で,Destination を Resources にし,
"+" ボタンから,先ほど Add したファイルを追加します.

ここまでやって,やっとファイルの追加は完了したことになります.