旋转矩阵并非真正对称(OpenCV)
问题描述:
我在OpenCV中使用recoverPose()函数,但我没有得到对称的旋转矩阵。
它不应该返回一个对称旋转矩阵吗?旋转矩阵并非真正对称(OpenCV)
我的结果看起来像:
R = 0.998585723955729, 0.02348487299776981, 0.04769709270061936;
-0.02232705043463718, 0.9994464428542043, -0.02466395517687959,
-0.04824991948907295, 0.02356413814160357, 0.9985572976364158;
t = -0.9982022017535427,
0.005659929033547541,
0.05966849769949602;
正如你所看到的,旋转矩阵是不是真的对称的,也有一些“错误”的价值观的迹象。
这些是两个图像:
答
三维旋转矩阵是,一般地,不对称的。 (尽管一些是例如单位矩阵满足旋转矩阵的性质并且是对称的)。实际上,对于任何数量的维度来说,一般的非对称属性都是真实的,除了一般的1D情况。
你可以看到3D旋转矩阵的一般形式为https://en.wikipedia.org/wiki/Rotation_matrix
(请注意,旋转矩阵的行列式为始终为1)。
所以我的旋转矩阵可能是正确的,看起来像我的两张照片可能的结果? – Mirnyy
你检查了行列式吗?它对我来说非常接近1。 – Bathsheba
是....它是1. 我只是很惊讶,因为我的同事说,他的旋转矩阵总是对称的。 – Mirnyy