4

を使用してカメラ パラメータを取得し、calibrateCamera()cameraMatrix、distCoeffs、rotationMatrix、transformMatrix を取得しました。
これらのマトリックスを使用して、射影マトリックスを構築し、空間内の 3D オブジェクト ポイントを 2D イメージ ポイントに変換できます。
このようなもの:

ここに画像の説明を入力

しかし、私が望むのは、この投影の逆です。これらの 2D ポイントを 3D 空間に変換したいと考えています。一部の情報が失われることはわかっていますが、元のポイントはすべて同じ計画にありました。
この変換にカメラ パラメーターを使用して、同様のマトリックスを作成するのを手伝ってください。

4

1 に答える 1

5

投影された 2D ポイントのセットから、元の 3D ポイントを取得することはできませんが、3D ポイントとそれらの画像平面への投影を結合する光線を取得できます。したがって、3D ポイントの深度が失われます。つまり、方向はわかっていますが、カメラから 3D ポイントまでの距離はわかりません。

3D ポイントの深さを補う必要があります。それらの平面状態により、相対的な位置にいくつかの制約を加えることができますが、元の深さを取り戻すには十分ではありません。

たとえば、同一線上にない 3 つの点の深さを設定して、3D 空間に平面を作成できます。他の 2D ポイントの深さは、これらの光線とこの新しい平面との交点によって与えられます。

3D ポイントを生成した平面の法線ベクトルがわかっている場合は、1 つの 2D ポイントの深さを設定し、それに応じて他のポイントを計算するだけで、同様のことができます。さらに、その平面から原点 (カメラまで) までの距離がある場合にのみ、3D ポイントの実際の深度を取得できます。

于 2013-10-30T11:05:22.753 に答える