拡張現実アプリでは、シーン内の画像を検出するので imagePoints を知っていますが、探しているオブジェクト (objectPoints) は、シーン内で検索するためにメモリに格納されている仮想マーカーであるため、わかりません宇宙のどこにあるか。
私が読んでいる本 (Mastering OpenCV with Practical Computer Vision Projects ) は、マーカーが 1x1 マトリックスであるかのようにそれを渡し、どのようにうまく機能しますか?
SolvePnP はオブジェクトのサイズとそのプロジェクションを知る必要があるので、誰がどのくらいのスケールが適用されているかがわかりますか?
1295 次
2 に答える
2
物理オブジェクトを探していると仮定すると、(射影によって) 画像内の 2D ポイントにマップされたモデル上のポイントの 3D 座標を渡す必要があります。任意の参照フレームを使用でき、solvePnp の結果は、その参照フレームでのカメラの位置と方向を示します。
カメラ空間でオブジェクトの位置/方向を取得したい場合は、カメラが原点に移動するように、solvePnp から取得した変換の逆によって両方を変換できます。
たとえば、サイズが 2x2x2 の立方体オブジェクトの場合、表示される角は次のようになります。 {-1,-1,-1},{1,-1,-1},{1,1,-1}.....
于 2016-06-24T17:02:35.860 に答える
1
画像にマッピングする現実世界のオブジェクトの 3D 座標を渡す必要があります。スケーリングと回転の値は、使用する座標系によって異なります。
これは思ったほど難しくありません。頭の姿勢の推定に関するこのブログ投稿を参照してください。詳細については、コードを参照してください。
于 2016-06-28T07:06:53.533 に答える