opencvを使用してピクセル/画面座標からカメラ座標を見つけたい。
カメラがキャリブレーションされ、opencvを使用して固有パラメーター(焦点距離と主点を持つマトリックス)と外部パラメーター(回転と並進マトリックス)を取得したとします。次に、opencvを使用した3D再構築のためのこのWebサイトは次のように述べています。
s * [q 1]^{Transpose} = [K] * [([R] * P) + T]
ここで、[q]
は2dピクセル座標、s = 1
はK
(3x3
)固有行列、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]
)は常に可逆ですか?または、回転行列や固有行列を反転できない場合がありますか?
これをご確認いただけますか?