XNAを使用して、液晶プロジェクタとハンドヘルドレーザードットポインタのみを表示するようにフィルタリングされたモノクロカメラを使用して壁に「落書き」を描くプロジェクトを構築しています。レーザーポインターをいくつでも使用したいのですが、現時点では区別する必要はありません。高速サブピクセルレーザードット検出
壁10' ×10' であり、カメラは、ここで概説されるようにのみ640×480は、私はスプライン曲線を使用して、サブピクセル測定を使用しようとしています:(tpub.com
カメラは120FPSで実行8私の質問はすべて、そのサブピクセルレーザードットセンターを見つけるための最速の方法です。現在、私はスプライン補間を行う前に、無理矢理2D検索を使用して画像上の最も明るいピクセル(0〜254)を探しています。その方法はそれほど高速ではなく、各フレームは入って来るよりもコンピュータに時間がかかります。
編集:最終的に、私のカメラデータはピクセルの明るさを示すバイトの2次元配列で表されます。
私がしたいのは、XNAシェーダを使って私のために画像をクランチすることです。それは実用的ですか?私が理解しているところでは、実際にピクセルシェーダに実行中の合計、平均などの永続変数を保持する方法はありません。
しかし、議論のために、スプライン曲線の隣接ピクセルをテクスチャを使用してX個の頂点に格納します。 texcoordsを使ってスプライン曲線を計算するのにHLSLを使用するのが現実的ですか?
私はXNAボックス外の提案にもオープンしています。DX10/DX11、多分FPGAのようなものかもしれません。このようにデータを処理する方法はあまり経験がありません。私はおそらくこれを間違った方法でやっているよりも、2つのAA電池を使ってWii-Moteでこれを行うことができるかどうかを判断します。
アイデア?
スキャンが遅い、またはスプライン補間を行うのは遅いですか? – Nosredna
スプライン補間は、スプラインをどのデルタで評価するかによって、最も遅い成分です。この場合、0.1pxの精度が必要です。 – bufferz
もし私が20のレーザーを持っていれば、スプライン計算は非常に非常に高価なcPUになります。 – bufferz