1

画像に特定の回転を適用しようとしていますが、期待どおりに機能しません。私が持っているローテーションは次のとおりです。

[0.109285   0.527975    0.000000    
-0.527975   0.109285    0.000000    
0.000000    0.000000    1.000000]

これは、カメラの中心 (または必要に応じて Z 軸) を中心に ~78 度回転する必要があります。ホモグラフィを作成するには、翻訳コンポーネントがないため、次の式を使用します: K * R * K^-1(無限ホモグラフィ)。

画像 (320x240) を変換するために使用するコードは次のとおりです。

cv::warpPerspective(image1, image2, K * R * K.inv(), image1.size());

ここで、K は次のとおりです。

[276.666667 0.000000    160.000000  
0.000000    276.666667  120.000000  
0.000000    0.000000    1.000000]

結果の行列K * R * K.inv()は次のとおりです。

[0.109285   0.527975    79.157461   
-0.527975   0.109285    191.361865  
0.000000    0.000000    1.000000]

結果は画像の回転だけになるはずですが、画像は次のように「ズームアウト」されます。

ここに画像の説明を入力

私は何を間違っていますか?

4

1 に答える 1

0

どうやら私の回転行列が間違っていたようです。

于 2015-09-19T21:35:40.220 に答える