‘ガジェット’ カテゴリーのアーカイブ

【oF】OptiTrack on openFrameworks

2010年3月17日 水曜日

あんまり需要はなさそうですけど、最近ブログ更新してないし
ちょっと頑張ったことを誰かに知って欲しいので載せてみます。
 

OptiTrack FLEX:V100

まず、OptiTrackってなんですか?というと
OpenCV的なことをやってくれるデバイスです。
詳しくはこちらを。
 
簡単に説明すると、
 1. 赤外線を照射
 2. 赤外線カメラで撮影
 3. 画像内の動いている物体を感知
 4. 画像とともに、それらの情報をくれる

そういうUSBカメラです。
本来は3つとか使って体に白い玉をつけて、モーションキャプチャするための機器です。
 
※ちなみにこのV100というモデルはもう生産終了しちゃってるかも。

 
 
具体的には、骨展という展覧会で出展された
another shadow」(動画はこちら)という
作品に使われています。
 
このOptiTrack、本体は買わなければいけませんが、
SDKがWindows向けに無料で公開されていて
VC++やC#、VBなどサンプルがいくつか公開されています。
 
 
 
仕事で使うかもー、ということで初めて
Visual Studio C++ 2008 Express Editionをインストールして、
ATLだのなんだのと混乱しながら、とりあえずoF上で動作するようになりました。
 
取得している元画像は640×480です。
毎フレームごとに検知した物体をオブジェクト化してくれます。
各オブジェクトから取得出来るパラメータは、
 ・画像内でのX位置
 ・画像内でのY位置
 ・画像内でのピクセル数
 ・そのオブジェクトの幅
 ・そのオブジェクトの高さ
 ・そのオブジェクトのスコア
 ・フレームでのランク

また、カメラ側の設定として、
取得するためのしきい値や赤外線の明るさ等も調整できます。
 
 
機器もお借りしているものなので、とりあえずコード載せたりは
控えますが、もし興味があるひとがいましたらご連絡ください。

 
 

【iPhoneSDK】コマアニメーションクラス

2010年2月12日 金曜日

 
プログラムでいうアニメって、数字で変換するものばっかりで
パラパラ漫画みたいなコマアニメのことは考えられていません(たぶん)。
 
でも、動きといえば手書きのイラストからつくりますよね!
 
 
そんなひとのためにサンプルを公開しておきます。
 
 
多少解説すると、
コマ数分だけ横に並べた画像を読み込み、
更新ごとにひとコマ分ずつずらしています。
 
この方法だと、ずらす数値をちょっと変えると
横に流れてしまうアニメになったりします。
 
 
 

こんなことしてないで、ジャスティスファイトを形にしろっていうんですよね。
まったく。
 
 
※ファイルUPしますが、動作保証とかなにか起きても自己責任でお願いしますー。なにも起きないとは思いますけど…
【iPhone SDK】コマアニメーションクラスサンプル
 
 

※ 10.02/18追記
実はUIImageViewに、animationImagesという配列型のプロパティがあって、
各コマ画像を配列に入れてstartAnimatingメソッドを呼ぶとコマアニメしてくれる。
さらに iPhoneOS3.0からは
highlightedAnimationImagesというプロパティも追加されていて、
highlightedプロパティを YES にするとこちらのアニメを再生してくれる。
 
 

【iPhone SDK】マイク入力レベルを取得するサンプル

2010年2月4日 木曜日

とりあえず形になったのでメモがてらUP。
 
AVFaundationで、AVAudioPlayerってあると思うんですが、
それの録音版AVAudioRecorderっての使ってます。
 
最初、AudioQueue系のものを使っていたのですが、
バッファとかなんとか事前準備がめんどそうだったのでやめました。
 
 
で、結局録音にメモリ使ってしまうという罠は回避出来ていないのですが、なにか知ってる人いたら教えてください。
とりあえず、録音中しか値とれなくて、インスタンス用意すりゃ録音してなくてもいいかなーとか、録音状態にしてから一時停止にしとけばいいんじゃね?とかやったのですがダメでした…
 
 
今んとこの解決策は、定期的に録音をストップしてファイル破棄、再度録音開始といった流れしか思いつきません。きもちわるい解決策だぜ!
 
 
 
こまったー
 
 
※ファイルUPしますが、動作保証とかなにか起きても自己責任でお願いしますー。なにも起きないとは思いますけど…
 【iPhone SDK】マイクの入力レベルを取得するサンプル