OpenCV - iOS事始め

OpenCVのビルドから、OpenCVを使ったプロジェクトの作成まで。
ほぼ公式のチュートリアルの内容のままです。
http://docs.opencv.org/trunk/doc/tutorials/ios/table_of_content_ios/table_of_content_ios.html

OpenCVのビルドしてopencv2.frameworkを作る

適当なディレクトリでGitHubからcloneしてビルドします。ホームディレクトリにsrcというディレクトリを作って、そこでビルドしました。

% cd ~/src
% git clone https://github.com/Itseez/opencv.git

% cd /
% sudo ln -s /Applications/Xcode.app/Contents/Developer Developer
% cd ~/src
% python opencv/ios/build_framework.py ios

src/iosにopencv2.frameworkが作成されます。OpenCVを使ってアプリを作る際には、このフレームワークをリンクすることになります。

プロジェクトを作成する

簡単なサンプルということでSingle View Applicationを選択してプロジェクトを作成します。

プロジェクトを作成したらSupporting Files/{PROJECT_NAME}-Prefix.pchを以下の様に編集します。

#import <Availability.h>

#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif

// 追加
#ifdef _cplusplus
#import <opencv2/opencv.hpp>
#endif

#ifdef __OBJC__
  #import <UIKit/UIKit.h>
  #import <Foundation/Foundation.h>
#endif

次に、プロジェクトナビゲータのプロジェクトをクリックし、TARGETS->Build PhasesのLink Binary With Librariesのセクションにopencv2.frameworkを追加します。追加する際はAdd Other...から選択して追加します。


とりあえず、アプリをビルドできるか試すために、アラートを出すだけのアプリを作ることにします。


ViewController.m

- (void)viewDidLoad
{
  [super viewDidLoad];
  
  UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Hello"
                                                  message:@"Welcome to OpenCV"
                                                 delegate:self
                                        cancelButtonTitle:@"Continue"
                                        otherButtonTitles:nil];
  [alert show];
}