1

opencvを使用してピクセル/画面座標からカメラ座標を見つけたい。

カメラがキャリブレーションされ、opencvを使用して固有パラメーター(焦点距離と主点を持つマトリックス)と外部パラメーター(回転と並進マトリックス)を取得したとします。次に、opencvを使用した3D再構築のためのこのWebサイトは次のように述べています。

s * [q  1]^{Transpose} = [K] * [([R] * P) + T]

ここで、[q]は2dピクセル座標、s = 1K3x3)固有行列、Rは(3x3)回転行列、Pは(3x1)世界座標で、Tは(3x1)平行移動行列です。

それで:

[R]^{-1} * ( [ [K]^{-1} * [q  1 ]^{Transpose} ] - [T] ) = [P]

その後:

[U] = ([R] * [P]) + [T]

ここで、はカメラ座標の[U]( )です。3x1これ[q]で、ピクセル座標にあるものがカメラ座標に変換されます[U]

このようにピクセル座標をカメラ座標に変換するのは正しいですか?回転行列([R])または固有行列([K])は常に可逆ですか?または、回転行列や固有行列を反転できない場合がありますか?

これをご確認いただけますか?

4

1 に答える 1

0

私はあなたのためにそれをチェックするのが面倒です(実際には、あなたはそれをテストするべきです、そしてあなたが質問をするならば、助けのためにここに来てください)。

しかし、この素晴らしいコードスニペットを使用することができます。それはあなたが望むものではありませんが、基本は正しいです:

Opencvは、バーズアイビュー用に仮想的にカメラを回転/移動します

于 2011-12-14T06:49:34.470 に答える