我正在尝试对图像进行一定程度的旋转,但无法按预期工作。我的轮换是:
[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]
结果应该只是图像的旋转,但是图像会像这样“缩小”:
我究竟做错了什么?
最佳答案
显然我的旋转矩阵是错误的。
关于opencv - OpenCV中的共轭旋转变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32671163/