Necesario para la calibración mano-ojo - conversión de vector de rotación a matriz de rotación python - fórmula de Rodrigues Rodrigues

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

 

Consulte la conversión mutua entre el vector de rotación y la matriz de rotación (función python cv2.Rodrigues())_vector de rotación a matriz de rotación_FC_code's blog-CSDN blog

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

Supongo que te gusta

Origin blog.csdn.net/m0_68738477/article/details/129718971
Recomendado
Clasificación