我正在尝试对图像应用某个旋转,但它不能按预期工作。我的轮换是:
[0.109285 0.527975 0.000000
-0.527975 0.109285 0.000000
0.000000 0.000000 1.000000]
围绕摄像机中心旋转~78度(如果您愿意,可以旋转Z轴)。
为了建立单应性,因为没有翻译成分,我使用公式: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]
结果应该是图像的旋转,但图像会像这样“缩小”:
我做错了什么?