OpenCV中的共轭旋转变换
我正在尝试对图像应用某种旋转,但它没有按预期工作。我的轮换是:OpenCV中的共轭旋转变换,opencv,computer-vision,projective-geometry,Opencv,Computer Vision,Projective Geometry,我正在尝试对图像应用某种旋转,但它没有按预期工作。我的轮换是: [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)的代码是: 其中K是: [276.666667
[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)的代码是:
其中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]
结果应该只是图像的旋转,但图像会像这样“缩小”:
我做错了什么?显然我的旋转矩阵是错的。显然我的旋转矩阵是错的。你不能用
getRotationMatrix2D
得到变换矩阵吗?@Miki我会试试,但我也想理解为什么它不起作用,因为我以后必须在其他轴上应用旋转。好的,这只是为了排除明显的解决方案:D你能不能用getRotationMatrix2D
得到变换矩阵?@Miki我会试试,但我也想了解为什么它不起作用,因为我以后必须在另一个轴上应用旋转。好的,这只是为了排除明显的解决方案:D
[0.109285 0.527975 79.157461
-0.527975 0.109285 191.361865
0.000000 0.000000 1.000000]