2017-08-22 7 views
0

私はカメラの姿勢と位置があるARアプリケーションをやっています。opencvを使わずにカメラの画像を2Dクワッドに埋め込む

ワールド座標系で4ポイントを与えられたら、カメラ画像を2Dクワッドにどのようにラップしますか?

右画像では、左のように2Dクワッドを取得したいと考えています。透視変換行列の

+0

だけでなく、あなたがライブラリを使用するか、またはあなたが必要な数学を研究し、すべてを自分で実装します。あなたの質問は広すぎます。 – Piglet

+0

あなたが望むかもしれないものは*遠近法テクスチャマッピング*ですが、逆の意味*です。いくつかの例については、[このリンク](http://www.hugi.scene.org/online/coding/hugi%2025%20-%20coding%20corner%20graphics%20bonz%20texture%20mapping%20part%203.htm)を参照してください。コード。 – meowgoesthedog

答えて

1

パラメータ点の初期及びワープ座標の8つの方程式のシステムを使用して計算することができる:

x1' = (A * x1 + B * y1 + C)/(G * x1 + H * y1 + 1.0) 
y1' = (D * x1 + E * y1 + F)/(G * x1 + H * y1 + 1.0) 

あなたはPaul Heckbert article内に透視変換の数学の記述を見つけることができます。実装の

例(C++):Antigrain library(ファイルagg_trans_perspective.h

+0

これは答えです、私の心配は今、私はイメージをキャプチャし、ディスクに保存されているテクスチャに上記の数学を適用する必要がありますか? – andre

+0

あなたのディスクファイルについてはわかりませんが、はい、matrix of persp。変換はすべての点に適用する必要があります。灰色のシートがたばこの箱の下にあるように見えるので、それのためのマトリックスは違うはずです(別の飛行機)。 – MBo

+0

明記しないと申し訳ありませんが、ウェブカムが動作している間に4ポイントを割り当ててから、その画像を切り抜いてディスクに保存してから読み込み、perspを適用します。それを変える? OpenGLでどうすればいいですか?私はテクスチャにレンダリングする必要がありますか? – andre

関連する問題