#multilang(ja){{ *OpenCV 2.4.6.1 Framework for Mac OS X *OpenCV/OpenCV 2.4.6.1 Framework for Mac OS X **概要 iOS向けとしては2.4.2からopencv2.frameworkが提供されていることをご存じの方は多いと思います.&br; それ以前にMac OS X向けのframeworkが公式でサポートされていたのですがある時を境にサポートされなくなってしまいました&br;(インクルードパスやライブラリパス指定が不要になる等の理由から結構便利だったのですが・・・). おそらくそのような背景から,2012年にMac OS X向けのframeworkを生成するための[[patch:http://code.opencv.org/issues/2037]]が有志より投稿されていましたが,&br; 2013年8月時点ではこのpatchが適用できなくなっていることから最新の2.4.6.1向けに適用できるようにし,&br; また,自分向けに使いやすいように一部コンフィギュレーションをカスタマイズしたものを公開します.&br;&br; 投稿されていたpatchと本サイトで公開しているpatchのおおまかな差異は以下の通りです. |コンフィギュレーション名|コンフィギュレーション概要|投稿patch|本サイトpatch| |BGCOLOR(white):WITH_TBB|BGCOLOR(white):TBBを内部で利用する|BGCOLOR(gray):無効|BGCOLOR(pink):有効| |BGCOLOR(white):WITH_EIGEN|BGCOLOR(white):EIGENを内部で利用する|BGCOLOR(gray):無効|BGCOLOR(pink):有効| |BGCOLOR(white):WITH_FFMPEG|BGCOLOR(white):ffmpegを動画入出力に用いる|BGCOLOR(gray):無効|BGCOLOR(pink):有効| |BGCOLOR(white):BUILD_opencv_java|BGCOLOR(white):javaバインディングを有効にする|BGCOLOR(gray):無効|BGCOLOR(pink):有効| |BGCOLOR(white):BUILD_DOCS|BGCOLOR(white):ドキュメントを生成する|BGCOLOR(pink):有効|BGCOLOR(gray):無効| |BGCOLOR(white):BUILD_TESTS|BGCOLOR(white):モジュールテストプログラムをビルドする|BGCOLOR(pink):有効|BGCOLOR(gray):無効| |BGCOLOR(white):BUILD_PERF_TESTS|BGCOLOR(white):パフォーマンスをテストプログラムをビルドする|BGCOLOR(pink):有効|BGCOLOR(gray):無効| |BGCOLOR(white):その他|BGCOLOR(white):framework内に同梱するライブラリの動作対象アーキテクチャ|BGCOLOR(pink):i386/x86_64|BGCOLOR(white):x86_64| -個人的に使う機能は基本的にENABLEにしています -テストプログラムビルド系はプログラムを組む際には不要なのでDISABLEにしています -x86_64のみにしているのは一部3rdpartyライブラリのi386ビルドでエラーが出てしまったためです **ダウンロード |Version|Filename|Size|Date|Type|Download| |BGCOLOR(white):1.0|BGCOLOR(white):OpenCV-2.4.6.1-OSXFramework.patch|BGCOLOR(white):25 KB|BGCOLOR(white):20130815|BGCOLOR(white):patch|BGCOLOR(white):[[http://www.atinfinity.info/img/download.gif:http://www.atinfinity.info/opencv/patch/OpenCV-2.4.6.1-OSXFramework.patch]]| **変更履歴 |Version|Date|変更内容| |BGCOLOR(white):1.0|BGCOLOR(white):20130815|BGCOLOR(white):新規作成| **frameworkビルド方法 ***パッチ適用 2013年8月時点で最新のOpenCV 2.4.6.1に対してpatchを適用します patch -p0 < ../OpenCV-2.4.6.1-OSXFramework.patch ***実行権限付加 パッチによりframeworkビルド用のスクリプトが生成されるので実行権限を付加します chmod +x opencv-2.4.6.1/osx-framework/build-osx-framework.sh ***ビルド frameworkビルド用のスクリプトを実行します.スクリプトの引数は対象OpenCVディレクトリです. cd opencv-2.4.6.1/osx-framework/ ./build-osx-framework.sh ../../opencv-2.4.6.1 ***framework生成場所 ビルド完了後,以下の場所にRelease/Debug版個別でopencv2.frameworkが生成されます opencv-2.4.6.1/Frameworks **opencv2.frameworkの使い方 Xcodeでopencv2.frameworkを使う方法について図を用いながら説明します +Xcodeでプロジェクトを開き,「Build Phases」画面に移動します +「Link Binary With Libraries」で「+」ボタンを押下して,生成したopencv2.frameworkを追加します &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj1.png);&br;&br;&br; 追加後の画面は以下のようになります &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj2.png);&br;&br;&br; +frameworkをプロジェクト側にコピーするために「Add Copy Files」を指定します &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj3.png);&br;&br;&br; +「Destination」を「Frameworks」に指定して,「opencv2.framework」をXcode左画面のナビゲーターからドラッグアンドドロップで持ってきます &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj4.png);&br;&br;&br; 前述操作を行った後は以下のような画面になります &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj5.png);&br;&br;&br; +後はOpenCVのコードを書くだけです **Contact 間違い・御指摘等ありましたら,&br;&br; &ref(http://atinfinity.info/img/mail.png); &br;&br;までメールにてご連絡ください. }} #multilang(en){{ *OpenCV 2.4.6.1 Framework for Mac OS X *OpenCV/OpenCV 2.4.6.1 Framework for Mac OS X **Abstract This page describes the method to use opencv2.framework(OpenCV 2.4.6.1) on Mac OS X.&br; Similar patch has been posted in the past([[Patch adding Mac OS X Framework capabilities (Patch #2037):http://code.opencv.org/issues/2037]]).&br;&br; I modified the patch for OpenCV 2.4.6.1. In addition, I have customized the configuration of the part.&br; The difference between posted patch and my customized patch is as follows. |configuration|configuration|posted patch|my customized patch| |BGCOLOR(white):WITH_TBB|BGCOLOR(white):OpenCV uses TBB|BGCOLOR(gray):disable|BGCOLOR(pink):enable| |BGCOLOR(white):WITH_EIGEN|BGCOLOR(white):OpenCV uses EIGEN|BGCOLOR(gray):disable|BGCOLOR(pink):enable| |BGCOLOR(white):WITH_FFMPEG|BGCOLOR(white):OpenCV uses ffmpeg|BGCOLOR(gray):disable|BGCOLOR(pink):enable| |BGCOLOR(white):BUILD_opencv_java|BGCOLOR(white):enable java binding|BGCOLOR(gray):disable|BGCOLOR(pink):enable| |BGCOLOR(white):BUILD_DOCS|BGCOLOR(white):generate the documentation|BGCOLOR(pink):enable|BGCOLOR(gray):disable| |BGCOLOR(white):BUILD_TESTS|BGCOLOR(white):build of module testing program|BGCOLOR(pink):enable|BGCOLOR(gray):disable| |BGCOLOR(white):BUILD_PERF_TESTS|BGCOLOR(white):build of performance test program|BGCOLOR(pink):enable|BGCOLOR(gray):disable| |BGCOLOR(white):Other|BGCOLOR(white):framework supported architecture|BGCOLOR(pink):i386/x86_64|BGCOLOR(white):x86_64| -I have enabled the frequently used configurations personally. -I have disabled "BUILD_xxxx_TESTS". Because these configurations are unnecessary for implementation. -This page's framework supports only x86_64. Because some 3rdparty libraries don't support i386 architecture. **Download |Version|Filename|Size|Date|Type|Download| |BGCOLOR(white):1.0|BGCOLOR(white):OpenCV-2.4.6.1-OSXFramework.patch|BGCOLOR(white):25 KB|BGCOLOR(white):20130815|BGCOLOR(white):patch|BGCOLOR(white):[[http://www.atinfinity.info/img/download.gif:http://www.atinfinity.info/opencv/patch/OpenCV-2.4.6.1-OSXFramework.patch]]| **ChangeLog |Version|Date|Changes| |BGCOLOR(white):1.0|BGCOLOR(white):20130815|BGCOLOR(white):First Release| **the building method of opencv2.framework ***patch application Please apply the patch to OpenCV 2.4.6.1. patch -p0 < ../OpenCV-2.4.6.1-OSXFramework.patch ***add the execute permission to build script Please add the execute permission to build script(build-osx-framework.sh). chmod +x opencv-2.4.6.1/osx-framework/build-osx-framework.sh ***build of opencv2.framework Please run build script(build-osx-framework.sh). Argument of this script is the target OpenCV directory. cd opencv-2.4.6.1/osx-framework/ ./build-osx-framework.sh ../../opencv-2.4.6.1 ***generated location of opencv2.framework "opencv2.framework"(Release/Debug) will be generated in the following locations. opencv-2.4.6.1/Frameworks **how to use opencv2.framework I will explain how to use opencv2.framework in Xcode with figure. +Please open the project in Xcode, and then go to the "Build Phases" window. +In "Link Binary With Libraries", please push "+" button and add generated opencv2.framework. &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj1.png);&br;&br;&br; After this operation, "opencv2.framework" is added as use framework. &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj2.png);&br;&br;&br; +Please specify the "Add Copy Files" in order to copy framework into your project. &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj3.png);&br;&br;&br; +Please specify the "Frameworks" as a setting of "Destination" and move(drag&drop) "opencv2.framework" from the Xcode navigator left screen. &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj4.png);&br;&br;&br; After this operation, "opencv2.framework" is added as copy framework. &br;&br;&br;&ref(http://atinfinity.info/img/opencv/OpenCV-2.4.6.1-OSXFramework/xcodeproj5.png);&br;&br;&br; +Please enjoy your implementation using OpenCV! **Contact If you have question,please send e-mail to the following address.&br;&br; &ref(http://atinfinity.info/img/mail.png); }}