多くのサイトで参照されているyoshimasa niwaさんのサイトですぐにできました。
その前にwgetやgitがインストールされていなかったので、そちらを先に対処した。
gitがない方はgithubでソースをまず手に入れてください。
ダウンロードしたiphone_opencv_testの中にあるOpenCVTESTプロジェクトをビルドすると、Facedetectのアプリがsimulator,deviceの両方でビルドできました。
OpenCVをソースコードからビルドする方法
iPhoneSDKは.Frameworkのような動的リンクに対応していないため、コンパイルするときは静的なライブラリを作成し、アプリケーションに静的にリンクする必要があるとのこと。
1.OpenCVソースコード(OpenCV-2.0.0.tar.bz2)をSourceForgeからダウンロード
2.デモアプリケーションディレクトリ内で展開
%tar xjvf OpenCV-2.0.0.tar.bz2
3.OpenCVにiPhone SDK 3.xでビルドできるようにパッチを当てる
% cd OpenCV-2.0.0
% patch -p0 < ../cvcalibration.cpp.patch_opencv-2.0.0
4.iPhoneのシミュレータむけにビルド。
ファイルはopencv_simulatorディレクトにインストールされます。
% cd OpenCV-2.0.0
% mkdir build_simulator
% cd build_simulator
% ../../configure_opencv
% make
% make install
5.iPhoneの実機向けにビルド。
% cd OpenCV-2.0.0
% mkdir build_device
% cd build_device
% ARCH=device ../../configure_opencv
% make
% make install
*OpenCV2.0.0と1.1.0では、そのままではiPhoneSDKでビルドできない問題があるので
cvcalibration.cpp.patchでその問題を解決しているとのこと。
*ビルドサポートスクリプトconfigure_opencvのオプション一覧
# ./configure_opencv --help
Usage: ./configure_opencv [Options | Configure Options] [Enviroment Variables]
OPTIONS
-h, --help Show this guide
-c, --configure-help Show configure help for configure options
ENVIROMENT VARIABLES
SDK_VERION Select iPhone SDK Version (2.0, 2.1, 2.2, 2.2.1, 3.0, 3.1, 3.1.2 and more)
Default = 3.1.2
GCC_VERSION Select GCC Version (4.0 for SDK 2.x, 3.x, 4.2 for SDK 3.x and more)
Default = 4.0 for SDK 2.x, 4.2 for SDK 3.x
ARCH Select target architecture (device or simulator)
Default = simulator
CONFIGURE Path to configure script
Default = ../configure
EXAMPLES
% ./configure_opencv
Making OpenCV with SDK3.1.2 using GCC4.2 for iPhone simulator
% ./configure_opencv GCC_VERISON=4.0 ARCH=device
Making OpenCV with SDK3.1.2 using GCC4.0 for iPhone device
% ./configure_opencv SDK_VERISON=3.0 ARCH=device
Making OpenCV with SDK3.0 using GCC4.2 for iPhone device
% ./configure_opencv SDK_VERSION=2.2.1
Making OpenCV with SDK2.2.1 using GCC4.0 for iPhone simulator
EdgeDetectのiPhone上でのスクリーンショット
No comments:
Post a Comment