旋转矩阵不是真正对称的(OpenCV)

时间:2017-03-17 15:20:42

标签: c++ opencv rotation position orientation

我在OpenCV中使用recoverPose()函数,但我没有得到对称的旋转矩阵。
它不应该返回对称旋转矩阵吗?

我的结果如下:

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;

正如你所看到的,旋转矩阵并不是真正对称的,而且还有一些错误的"有了价值观的迹象。

这些都是图片:

image1 image2

1 个答案:

答案 0 :(得分:1)

3D旋转矩阵通常不是对称的。 (尽管有些是,例如,单位矩阵满足旋转矩阵的属性并且是对称的)。实际上,除了普通的1D情况之外,对于任何数量的维度,一般的非对称属性都是正确的。

您可以在https://en.wikipedia.org/wiki/Rotation_matrix

看到3D旋转矩阵的一般形式

(请注意,旋转矩阵的行列式始终为1)。