2012-03-23 18 views
1

このオブジェクトは3Dプログラムでモデル化されています。実世界のオブジェクトをすべての辺から、またトップビューとボトムビューから緑のクロマキー技法を使用するセグメンテーションのためのスクリーン。正射投影画像の自動テクスチャマッピング

人間の介入なしに、これらの正射投影画像をオブジェクトにどのように適用しますか?つまり、私はPhotoshopを使用してテクスチャマップを自分で作成するのではなく、画像を入力として使用して、自分のプログラムが私のためにマッピングを実行できるようにします。

それは可能ですか?重複する領域のための縫い目や空白があることはわかっていますが、最初の 部分を処理すると、後で解決する必要がある2次的な問題です。P

キューブマッピングについて考えましたが私のオブジェクトは反射鏡と鏡面反射鏡、金属のようなものでなければならず、反射はオブジェクトを回転させると変化します。

また、小さなメッシュを細かい三角形に分割し、それらのそれぞれを対応する画像の投影された色に塗りつぶしましたが、写真の対応するピクセルがどのようになっているかをどのように調べていますか?

+0

キューブマッピングと鏡面反射は全く異なる概念です。 – Robinson

+0

はい、私はそれを置くための適切な方法ではなかったと思います。私は、キューブマッピングでは、オブジェクトの反射に似た何かを得ることを意味するので、キューブマッパー自体を回転させなければ、物体が回転すると変化する。それとも間違っているかもしれない。 –

答えて

0

私はこれの一部に答えることができます。あなたのメッシュを小さな三角形に分割した後、この小さな三角形の投影をあなたの写真に合った矩形に計算したいと思っています。だから、必要:

  1. カメラ
  2. 物体各三角形について
  3. の位置及び姿勢の位置と方向を、上記のように座標

に基づいて透視投影を計算しますソフトウェアでのこれらの点の計算の代わりに、おそらく、各三角形の特定の色を持つ特殊な色マッピングを使用して、適切なオプション(ブレンディングなし)でOpenGLで投影し、次にOpenGLからビットマップを取得します。次に、ビットマップの色は三角形にマップされるので、画像内の位置を個々の三角形にマップできます。

これは部分的な回答に過ぎませんが、うまくいけば便利です。

- EDIT - よくOpenGLは、スクリーンショットクラスを使用して、それ自身のスクリーンショットをとることができます。照明なしに設定した場合、glColor3fを使用して各ミニトライアングルを独自の色に設定すると、スクリーンショットは3Dオブジェクトのカメラへの投影になります。メッシュ内のすべての三角形に別個の色を使います。次に、スクリーンショットでその色を探します。

だから: 1.照明オフ(それが色を調整する)、各三角形メッシュについて 2 - : は任意であるが独特の色 3.キャプチャスクリーンショット各三角形メッシュについて 4に、この三角形を設定します - スクリーンショットでその色のx、y座標を探します。 は - 明らかにそれがされます - あなたは

、これは十分に機能するかどうか、私は知らないを発見した色に三角形の色を設定 - Xを使用し、yは写真を見て、そのメッシュ の色を選択する座標メッシュのサイズに依存します。小さすぎると、スクリーンショットに色の一部が表示されません。それが大きすぎる場合、個々のピクセルの色を見つけることはできませんが、むしろ写真のセクションを見つけるので、その三角形の法線ベクトルを使用してそのパッチをテクスチャに変換してその三角形に適用する必要があります。

+0

私はあなたのソリューションの最初のことを理解していますが、私はカメラのパラメータになる変換行列によって三角座標を乗算しています。 あなたが提供する2番目の提案は、私が得意でなかったものです。もう少し拡張してください。 –

関連する問題