3

findHomography() を呼び出した結果、3x3 行列 mtx[3][3] が返されました。この行列には、mtx[0][2] と mtx[1][2] の翻訳部分が含まれています。しかし、この 3x3 行列から回転部分を取り出すにはどうすればよいでしょうか?

残念ながら、私のターゲット システムはまったく異なる計算を使用しているため、3x3 マトリックスを直接再利用できず、これから回転を抽出する必要があります。そのため、この質問をしています。

4

3 に答える 3

1

その間、私自身のためにそれを見つけました:マトリックスから変換の一部を抽出するために使用できるOpenCV関数 RQDecomp3x3() があります。

于 2012-11-28T09:40:57.183 に答える
1

RQDecomp3x3 には、Z 以外の他の軸で回転を返す問題があるため、この方法では、z 軸のスピンを正しく見つけることができます。射影行列を見つけて「decomposeProjectionMatrix」に渡すと、より良い結果が得られます。射影行列は、ホモグラフィ行列とは異なります。この点に注意する必要があります。

于 2013-01-14T09:26:36.200 に答える
1

一般的に言えば、最終的な変換行列を構成要素に分解することはできません。可能なケースもあります。たとえば、操作の前の唯一の操作が平行移動であった場合、arccos(m[0][0]) を実行して回転のシータ値を取得できます。

于 2012-11-13T21:34:17.530 に答える