画像を解析したり効果を加えたりするのに非常に便利
XcodeでOpenCVを使ったプロジェクトをbuildするには
1. OpenCVのframeworkを追加
http://sourceforge.jp/projects/sfnet_opencvlibrary/
ここからzipをダウンロード
2. GeneralタブのFrameworkの”+”のadd otherでOpenCVのファイル一式を展開したディレクトリを追加
3. OpenCVを使いたいソースで
highgui.hppとopencv.hppをimportする
4. Build Settingsタブの
Apple LLVM 5.1 - Language - C++のLanguage DialectをCompiler Default
をlibstdc++(GNU C;; standard lib…)に変更(7の対策)
(追記:この情報は古いです xcode6と最新のopencv (現在2.9を使用中)のframeworkではCompiler DefaultのままでOKでした)
(v2.4ではValid Architecturesにarmv7sが入ったままで大丈夫だった。昔はだめだったらしい。)
→ と思ったらArchiveする時にLinkerでエラーが出ました。v2.4でもValid Archtectureのarmv7sは消さないとダメのようです。
5. Supporting Filesの
プロジェクト名-Prefix.pchのUIKit.hの前に
#ifdef __cplusplus
#import "opencv.hpp"
#endif
を追加(UIKit.hのimportの前に入れる必要がある)
(追記:xcode6で新規プロジェクトを作ると.pchのファイルは作られないみたいで、なくても大丈夫みたいです)
6. BuildするとUnknown type name 'namespace'のエラーが出るので
プロジェクト内の全てのファイルの拡張子を.mは.mmに.hは.hppに変更
main.mmとAppDeligate.mmのヘッダファイルのimport文も合わせて修正
#import "AppDelegate.hpp"など
7. Buildした時に<ext/atomicity.h>が無いというエラーが出たら(4をやってれば出ない)(CoreMediaとCoreVideoがなくても出るみたいなので追加)
(追記:最新のopencvのframework(現在2.9を使用中)を使えば出ないはず)
Build SettingのApple LLVM 5.0 - Language - C++の
C++ Standard Libraryをlibstdc++(GNU C;; standard lib…)に変更
(追記: 最新のframeworkを使ってれば
libc++ (LLVM C++standard library with C++11 support)が正しい)
opencvの古いサンプルコードだとIPLImageという型を使ってるのが多いけど、最近はcv::Matが主流みたい
(ネットには古い情報がたくさん残っててわかりにくいですね… ちゃんとアップデートされてるところを信用しましょう)
ということで、作っていたのが
http://one-hand-engineer.seesaa.net/article/385134648.html
これでした
ラベル:アプリ製作