OpenNI2+NiTE2+Xcode5+Xtion環境構築
引き続きNiTEのサンプルを動かしてみました。
NiTEのインストールは
NiTEの最新版を落とす
sudo ./install.sh
~/ .bash_profileにsource /Users/......./NiTEDevEnvironmentを追加
でサンプルが動くはずです。
Xcodeでの動かし方は
OpenNI2をXcodeで動かしたの+同じことをNiTE2でやる
です。
あと何故か
#include <NiTESampleUtilities.h>
となっていますがこれは
#include "NiTESampleUtilities.h"
に直します。
これだけ。面倒なので詳細は割愛。普通に動きました。
OpenNI2+Xcode5+Xtion環境構築
OpenNI2のインストールからサンプルをXcode5で動かすまでに詰まったのでメモ
OpenNI2のインストールは
を参考にしましょう。
やった手順は
OpenNIのページから最新版を落とす
sudo ./install.sh
~/.bash_profileにsource /Users/....../OpenNIDevEnvironmentを追加
でオッケーです。これでBinのなかのサンプルが動きます。
またこれはXtionだと必要ないかもですが恐らくKinectを動かす為に
brew install libusb --universal
brew install libtool
brew install libfreenect
あたりをやっておきました。これはいつでもbrew uninstallで消せますので
Kinectで動かすためにはこれ+freenectDriverなるものが必要らしいですがまだやってないです。
さてXcodeでの動かし方ですが、とりあえずSimpleViewerを例にすると、手順は
新プロジェクトをCommandLineTool(C++)で作る
SimpleViewerのソースコードをプロジェクトに追加、main.cppはコピペで置き換える
プロジェクトのBuildSettingでHeaderSearchPathにOpenNI2/Includeを、LibrarySearchPathにOpenNI2/Redistを追加
BaseSDKを現在のOSのバージョンに合わせる
ターゲットのBuildPhasesにlibOpenNI2.dylib、GLUT.framework、OpenGL.frameworkを追加
これでBuild Succeedするので動くはずなんですが、なぜかライブラリが見つからないとおこられてしまうので、Users/(UserName)/Library/Developer/Xcode/DerivedData/プロジェクト名-文字列/Build/Products/DebugにRedistフォルダの中身を全部コピペします
これで動くはずです!
次はNiTEを動かそうと思います。
ofAddListenerでエラーが出るの解決した
ofEventsのイベント通知メソッド
ofAddListener、ofRemoveListenerで
No matching function call to 'ofAddListener'
と出てどうしようもなく困っていたのですが、
ofAddListener(ard.EInitialized, this, &testApp::setupArduino);
の、setupArduinoを
もともと
void setupArduino();
で宣言していたのを
void setupArduino(const int & version);
というように引数をちゃんとサンプル道通りにしたら通りました!
意味はちょっと分からないですが、写すならちゃんと写せということですね。
ofxOpenCV使ってみた
ofxOpenCV使ってみました。
使い方は、
アドオンにofxOpenCVを追加して、
Header Search Path にof_v0.8.0_osx_release/addons/ofxOpenCv/libs/opencv/includeを追加してライブラリのパスを通せばOKです。
使い方として一つ注意するのが、ほとんどのサイトでは
vidGrabber.getFrame();
として現在のフレーム画像を取得していますが、8.0ではgetFrameがないので、
vidGrabber.update();
として取得するということです。
とりあえず定番の田所さん
http://yoppa.org/ma2_10/2214.html
背景画像からの差をとって輪郭抽出をしています。
顔認識やってみたけど遅かったし認識精度悪し
http://inter-arteq.com/facetracking/
はやりのfacetrackerとかのほうがいいのかな
最後にcolor tracking
http://d.hatena.ne.jp/afeq/20101025/1287932718
とか
http://inter-arteq.com/colortracking/
とか
早くていい感じです。
iOSでカメラプレビュー
iOSアプリでカメラプレビューの実装。
先輩に訪ねたところ、カメラは基本的にAVFoundation、画像処理はCoreMediaあたりを使って、OpenCVは糞ということです。
とりあえずまずカメラプレビューを実装してみます。
一番はやっぱりappleの公式ドキュメント
https://developer.apple.com/jp/devcenter/ios/library/documentation/AVFoundationPG.pdf
で、
あとは
http://teru2-bo2.blogspot.jp/2012/05/ios.html
http://shinen1.wordpress.com/2012/12/25/ios_realtime_videoprocess/
と、万世端のgitlabのmaster>panoramagyro/iPadARTest/PanoramaViewController.mmを参考に実装できました。
流れ的には
CaptureSessionを作る>VideoInputを設定>VideoOutputを設定>previewLayerを作って表示したいviewのlayerのサブレイヤーにする
って感じです。
端末を傾けたときにカメラが回転しないという問題が起きて、
http://program.station.ez-net.jp/special/handbook/objective-c/uidevice/orientation.asp
あたりを参考に、傾けたときに画像を回転しなければならないのかと思いましたが、
端末の自動回転をロックすれば大丈夫なことがわかりました。
xcode5にしたときにOFのiOSコードでエラーが出る問題
xcodeを5にしたら今まで動いていたopenframeworks for iosのコードで
"Use of undeclared identifier 'GL_STENCIL_INDEX'"
とかいうエラーが出るようになりました。
解決策っぽいのがここのブログ
http://verytired.hateblo.jp/entry/2013/10/16/144808
に乗ってます
でもブログに乗っているように
lexical processor issue tr1/memory file not found
とかいうエラーがでてもうよくわからないので、
とりあえずもとに戻して放置します
macにopenframeworksを導入
macにofを入れたので一応メモ。
http://www.myu.ac.jp/~xkozima/lab/ofTutorial1.html
を見れば基本できる。
インストールしてxcodeでビルドするだけ。
ただこれでexampleを実行しようとするとsuceedにはなるけど何もおこらない。
http://nazo-works.hatenablog.com/entry/2013/01/10/183018
の下のほうを参考に
Xcode の Product -> Edit Scheme -> Run -> Executable のところを NoneからemptyExample.app
に切り替えれば実行されるようになります。
こんだけ。