2011-12-14 9 views
1

opencvを使ってピクセル/スクリーン座標からカメラ座標を探したいと思います。この手順で画面座標をカメラ座標に変換できますか?

私のカメラが較正され、opencvを使用して内在パラメータ(焦点距離と主点を持つ行列) と外的パラメータ(回転行列と平行移動行列)が得られたとします。次いで、OpenCVのと3D 再構成のためthis website言う:

[q]が2Dピクセル座標である
s * [q 1]^{Transpose} = [K] * [([R] * P) + T] 

s = 1KPが (3x1)であり、Rは(3x3)回転行列であり、(3x3)固有行列でありますTは(3x1)の変換行列です。

だから:

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

そして:

[U]はカメラ座標で( 3x1)である
[U] = ([R] * [P]) + [T] 

。だから今度はピクセル座標の[q]は で、カメラ座標は[U]に変換されます。

ピクセル座標をこのようなカメラ座標に変換する権利はありますか?ローテーション行列([R])またはイントリンシック行列([K])は常に可逆であるか?または、回転行列および/または固有行列を反転できない場合は、 回ありますか?

これは親切に確認できますか?

答えて

0

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

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

Opencv virtually camera rotating/translating for bird's eye view

+0

おかげバシレ。私はそれを自分で試してみる。再度、感謝します。 – mvr950

関連する問題