Mac で OpenCV の開発環境を作る。
ライブラリのダウンロード・ビルドから、アプリのビルドまでやってみたまとめ。
-
OpenCV のソースをダウンロード
このページの download をクリック。解凍された opencv-2.4.9 フォルダをデスクトップに移動。
-
Command Line Tools for Xcode のダウンロードとインストール
このページの Additional Tools の View downloads を開いて、ツールの一覧から Command Line Tools for Xcode をダウンロードしてインストール。
-
cmake のダウンロードとインストール
このページの Download Now をクリック。 一覧から Mac OSX 64/32-bit Universal の dmg をダウンロードしてインストール。
このときセキュリティの警告が出るので、一時的に「設定 > セキュリティとプライバシー」から 「すべてのアプリケーションを許可」を選択する。
インストーラの選択肢では、コマンドラインモジュールもインストールしておく。
-
cmake で OpenCV.xcodeproj を作る
ランチャーから cmake を起動する。 source ディレクトリに opencv-2.4.9 を、binary ディレクトリに opencv-2.4.9-bin を指定。 Configure、Generate の順に実行すると OpenCV.xcodeproj が生成される。
-
Xcode で OpenCV をビルドする
OpenCV.xcodeproj から Xcode を起動して、TARGET に ALL_BUILD を選択してビルドする。 15 分ぐらいかかる。Warning が 200 ぐらい出る。
-
OpenCV ライブラリのインストール
Xcode の TARGET を install に変えてビルドし、/usr/local 以下にライブラリをインストールする。 そのままではサブディレクトリが作れないためにビルド途中でエラーが出るので、 ターミナルから下記の操作をする。
cd /usr/local/ sudo mkdir lib sudo mkdir include sudo mkdir share sudu chmod 777 bin sudu chmod 777 lib sudu chmod 777 include sudu chmod 777 share
ここでビルドすれば /usr/local 以下にライブラリがインストールされる。 終わったらアクセス権を戻しておく。sudo chmod 755 bin sudo chmod 755 lib sudo chmod 755 include sudo chmod 755 share
/usr は非表示属性なので、Finder で表示するためには、ターミナルから下記の操作をする。
cd /usr open .
-
OpenCV プログラムのビルド設定
Xcode の新規プロジェクトで OS X Application から Command Line Tool を選択。
プロジェクトのTARGETS設定で、
- Header Search Paths に /usr/local/include を追加。(space区切り)
- Library Search Paths に /usr/local/lib を追加。
- Finder の /usr/local/lib から Xcode のプロジェクトツリーへ、 libopencv_highgui.dylib をドラッグ&ドロップで登録。
初回実行時に cv2.so が無いとエラーが出た。 cv2.so は OpenCV のビルドディレクトリの ./lib/Debug にあるが、 /usr/local/lib にはコピー(インストール)されていない。 そこでこちらの libopencv_highgui.dylib をリンクしたところ動いた。 その後は /usr/local/lib の dylib をリンクしても動くようになり、 エラーが再現しない。なぜだか分からない。