OpenCV 中的共轭旋转变换

Conjugate rotation transformation in OpenCV

我正在尝试对图像应用特定的旋转,但它没有按预期工作。我的旋转是:

[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]

结果应该只是图像的旋转,但图像得到 "zoomed out" 是这样的:

我做错了什么?

显然我的旋转矩阵是错误的。