Skip to content

opencv2.framework(for Mac OS X)生成方法

atinfinity edited this page Jul 27, 2016 · 16 revisions

opencv2.framework(for Mac OS X)生成方法

framework生成方法

  1. githubからOpenCV 3.1のソースを入手する.
  2. OpenCVのソースを展開する.
  3. ターミナルで以下のコマンドを実行する.※ビルドが完了するとosxディレクトリにopencv2.frameworkが生成される.
    cd ~/<my_working_directory>
    python opencv-3.1.0/platforms/osx/build_framework.py osx

使い方

  1. Xcodeのプロジェクト作成画面で「Command Line Tool」を選択する
    img

  2. 「C++」を選択する
    img

  3. 生成した「opencv2.framework」を選択してドラッグアンドドロップする
    img

  4. 「Copy items if needed」にチェックを入れる
    img

  5. Build Phasesを選択し,「+」を押下する
    img

  6. OpenCL.frameworkを選択する
    img

  7. (highguiモジュールを使う場合は)Cocoa.frameworkを選択する
    img

補足

  • CMake(2.8.8以降)をインストールする必要があります.
  • OpenCV 3.0以降からopencv2.framework(for Mac OS X)を生成することができます.
  • build_framework.pyを編集する(OpenCVのCMakeオプションを変更する)ことでOpenCVで有効にする機能をカスタマイズできます.

補足(その2)

sazamekiさんから以下のコメントを頂きました.

@dandelion1124 あ、でも「Embedded Binaries」には自動的には入らないので、バンドルにフレームワークを同梱することが前提の場合には、やはりEmbedded Binariesへのドラッグ&ドロップが必要そうです。

— 風のさざめき (@sazameki) 2016年3月30日
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

バンドルにフレームワークを同梱する場合はEmbedded Binariesへ追加する必要があるようです.
Embedded Binariesへの追加についてはsazamekiさんの記事,OpenCV 3.1をOS Xで使うを参照ください.

補足(その3)

「MacPorts等で既にlibwebpをインストールしている」かつ「framework生成でWITH_WEBPがON」になっている場合,imgcodecsモジュールを使う際にlibwebpもリンクする必要があります.

framework生成でWITH_WEBPがONになっているかはプログラム中でcv::getBuildInformation()を呼び,そのメッセージを確認することでわかります.以下に筆者の環境でのメッセージを抜粋します.このメッセージには「/opt/local/lib/libwebp.dylib」と表示されていることからWITH_WEBPがONとなっており,MacPortsでインストールしたlibwebpが参照されていることがわかります.

  Media I/O: 
    ZLib:                        build (ver 1.2.8)
    JPEG:                        build (ver 90)
    WEBP:                        /opt/local/lib/libwebp.dylib (ver encoder: 0x0209)

備考

筆者は以下の環境で動作確認しました.


Menu

Computer Vision

GPGPU

AR

ROS

Docker

Jetson

ARM

プログラミング言語

開発環境

勉強会

Clone this wiki locally