#multilang(ja){{

OpenCV/OpenCV 2.4.6.1 Framework for Mac OS X

概要

iOS向けとしては2.4.2からopencv2.frameworkが提供されていることをご存じの方は多いと思います.
それ以前にMac OS X向けのframeworkが公式でサポートされていたのですがある時を境にサポートされなくなってしまいました
(インクルードパスやライブラリパス指定が不要になる等の理由から結構便利だったのですが・・・).

おそらくそのような背景から,2012年にMac OS X向けのframeworkを生成するためのpatchが有志より投稿されていましたが,
2013年8月時点ではこのpatchが適用できなくなっていることから最新の2.4.6.1向けに適用できるようにし,
また,自分向けに使いやすいように一部コンフィギュレーションをカスタマイズしたものを公開します.

投稿されていたpatchと本サイトで公開しているpatchのおおまかな差異は以下の通りです.

コンフィギュレーション名コンフィギュレーション概要投稿patch本サイトpatch
WITH_TBBTBBを内部で利用する無効有効
WITH_EIGENEIGENを内部で利用する無効有効
WITH_FFMPEGffmpegを動画入出力に用いる無効有効
BUILD_opencv_javajavaバインディングを有効にする無効有効
BUILD_DOCSドキュメントを生成する有効無効
BUILD_TESTSモジュールテストプログラムをビルドする有効無効
BUILD_PERF_TESTSパフォーマンスをテストプログラムをビルドする有効無効
その他framework内に同梱するライブラリの動作対象アーキテクチャi386/x86_64x86_64
  • 個人的に使う機能は基本的にENABLEにしています
  • テストプログラムビルド系はプログラムを組む際には不要なのでDISABLEにしています
  • x86_64のみにしているのは一部3rdpartyライブラリのi386ビルドでエラーが出てしまったためです

ダウンロード

VersionFilenameSizeDateTypeDownload
1.0OpenCV-2.4.6.1-OSXFramework.patch25 KB20130815patchhttp://www.atinfinity.info/opencv/patch/OpenCV-2.4.6.1-OSXFramework.patch

変更履歴

VersionDate変更内容
1.020130815新規作成

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を使う方法について図を用いながら説明します

  1. Xcodeでプロジェクトを開き,「Build Phases」画面に移動します
  2. 「Link Binary With Libraries」で「+」ボタンを押下して,生成したopencv2.frameworkを追加します


    xcodeproj1.png


    追加後の画面は以下のようになります


    xcodeproj2.png


  3. frameworkをプロジェクト側にコピーするために「Add Copy Files」を指定します


    xcodeproj3.png


  4. 「Destination」を「Frameworks」に指定して,「opencv2.framework」をXcode左画面のナビゲーターからドラッグアンドドロップで持ってきます


    xcodeproj4.png


    前述操作を行った後は以下のような画面になります


    xcodeproj5.png


  5. 後はOpenCVのコードを書くだけです

Contact

間違い・御指摘等ありましたら,

mail.png

までメールにてご連絡ください. }}

#multilang(en){{

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.
Similar patch has been posted in the past(Patch adding Mac OS X Framework capabilities (Patch #2037)).

I modified the patch for OpenCV 2.4.6.1. In addition, I have customized the configuration of the part.
The difference between posted patch and my customized patch is as follows.

configurationconfigurationposted patchmy customized patch
WITH_TBBOpenCV uses TBBdisableenable
WITH_EIGENOpenCV uses EIGENdisableenable
WITH_FFMPEGOpenCV uses ffmpegdisableenable
BUILD_opencv_javaenable java bindingdisableenable
BUILD_DOCSgenerate the documentationenabledisable
BUILD_TESTSbuild of module testing programenabledisable
BUILD_PERF_TESTSbuild of performance test programenabledisable
Otherframework supported architecturei386/x86_64x86_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

VersionFilenameSizeDateTypeDownload
1.0OpenCV-2.4.6.1-OSXFramework.patch25 KB20130815patchhttp://www.atinfinity.info/opencv/patch/OpenCV-2.4.6.1-OSXFramework.patch

ChangeLog?

VersionDateChanges
1.020130815First 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.

  1. Please open the project in Xcode, and then go to the "Build Phases" window.
  2. In "Link Binary With Libraries", please push "+" button and add generated opencv2.framework.


    xcodeproj1.png


    After this operation, "opencv2.framework" is added as use framework.


    xcodeproj2.png


  3. Please specify the "Add Copy Files" in order to copy framework into your project.


    xcodeproj3.png


  4. Please specify the "Frameworks" as a setting of "Destination" and move(drag&drop) "opencv2.framework" from the Xcode navigator left screen.


    xcodeproj4.png


    After this operation, "opencv2.framework" is added as copy framework.


    xcodeproj5.png


  5. Please enjoy your implementation using OpenCV!

Contact

If you have question,please send e-mail to the following address.

mail.png }}


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-09-09 (月) 22:21:00 (1474d)