モバイルアプリやコンピュータ制御に関する雑多なアーカイブ、開発コラム

Showing posts with label openCV. Show all posts
Showing posts with label openCV. Show all posts

Saturday, 20 March 2010

openCV with iPhone #2

OpenCVをiPhoneでビルドする方法

多くのサイトで参照されている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

FaceDetectのiPhoneでのスクリーンショット
















EdgeDetectのiPhone上でのスクリーンショット

Sunday, 14 March 2010

openCV with iPhone #1

iphone_sdkのフレームワークでopenCV関連を調べてみた。まずportからopenCVをインストール
$ sudo port selfupdate
$ sudo port install opencv
インストールが終わったら、/opt/local/share/opencv/samples/cにサンプルファイルができるのでサンプルをビルド
$sudo sh build_all.sh
ビルドしたサンプルを動かしてみる
$ ./fitellipse
これは楕円による輪郭のフィッティングプログラム















サンプルプログラムの説明はこのサイトがわかりやすい
http://co-coa.sakura.ne.jp/index.php?OpenCV/サンプルプログラム

Facetrackerを動かしてみた。顔認識のアプリです。


















参考:
http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port

Frameworkの作り方、iphoneでの動かしたについてはまたこんど。