16

カメラを使って足を追跡し、iPhone の画面で仮想のフットボールを蹴ることができるアプリを誰かが作っているのを見ました。

どうすればこのようなことができますか?オブジェクトを検出して追跡するためにiPhoneカメラを使用することに関するコード例やその他の情報を知っている人はいますか?

4

2 に答える 2

33

SecondConf で講演を行い、iPhone のカメラを使用して、OpenGL ES 2.0 シェーダーを使用して色付きのオブジェクトを追跡するデモを行いました。私のスライドとすべてのデモのサンプル コードを含む、その講演に付随する投稿は、ここにあります。

私が作成したサンプル アプリケーション (コードはここからダウンロードできます) は、Apple が WWDC 2007 で Core Image をデモするために作成した例に基づいています。その例は、GPU Gems 3 book の第 27 章で説明されています。

基本的な考え方は、カスタム GLSL シェーダーを使用して iPhone カメラからの画像をリアルタイムで処理し、特定のしきい値内でどのピクセルがターゲット カラーに一致するかを判断できるというものです。これらのピクセルは、赤と緑の色成分に正規化された X、Y 座標が埋め込まれ、他のすべてのピクセルは黒としてマークされます。次に、フレーム全体の色が平均化されて、色付きのオブジェクトの重心が取得されます。これは、カメラのビューを横切って移動するときに追跡できます。

これは、足のようなより複雑なオブジェクトを追跡するケースには対応していませんが、このような動くオブジェクトを選択できるシェーダーを作成できるはずです。

上記の更新として、この記事を書いてから 2 年間で、画像とビデオの OpenGL ES 2.0 シェーダー処理をカプセル化するオープン ソース フレームワークを開発しました。それに最近追加されたものの 1 つは、シーンを処理し、シーン内のあらゆる種類のモーションを検出する GPUImageMotionDetector クラスです。単純なコールバック ブロックの一部として検出された全体的な動きの重心と強度を返します。このフレームワークを使用してこれを行うことは、独自のソリューションを展開するよりもはるかに簡単です。

于 2010-10-24T04:29:09.253 に答える
3

iPhoneでOpenCVを使用して、顔と目を追跡することに成功しました。ここから始めるのが良いでしょう: http://niw.at/articles/2009/03/14/using-opencv-on-iphone/en

トリックは、足を説明するカスケード (カメラが探しているものの説明) を見つけることだと思いますが、それが存在するかどうかはよくわかりません。

于 2010-10-14T23:13:19.937 に答える