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 回答