Después de usar la caja de herramientas de matlab para calibrar la cámara, el vector de rotación obtenido se convierte en una matriz de rotación
import os
import cv2
import numpy as np
T = np.zeros((1,3), np.float32)
a = (0.2,0.4,0.8)
#print (a)
R = cv2.Rodrigues(a)
# print (R[0])
v3 = (R[0][2,1],R[0][0,2],R[0][1,0])
# print (v3)
c = cv2.Rodrigues(v3)
# print (c[0])
b = cv2.Rodrigues(R[0])
# print (b[0])
p = (0.098,-0.1307,0.1056)
print(p)
print(cv2.Rodrigues(p)[0])
p es el vector de rotación de entrada cameraParams.RotationVectors
Obtenga la matriz de rotación cameraParams.RotationMatrices
El resultado es
[[ 0.98592753 -0.11131944 -0.12471922]
[ 0.09855118 0.989655 -0.10426238]
[ 0.13503543 0.09050392 0.98669878]]
Después de la transposición, es exactamente igual que la matriz de rotación en la caja de herramientas de matlab