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

Rotation matrix is not really symmetric (OpenCV)

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

我的结果如下:

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;

如您所见,旋转矩阵并不是真正对称的,并且还有一些 "wrong" 带有值符号的东西。

这些都是图片:

image1 image2

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

https://en.wikipedia.org/wiki/Rotation_matrix

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

(注意旋转矩阵的行列式总是1)。