/ / opencv rvec para coordenadas esféricas - opencv, rotação, coordenadas, perspectiva

opencv rvec para coordenadas esféricas - opencv, rotação, coordenadas, perspectiva

Eu estou usando o opencv solvePnP para obter a rotaçãoe vetores de tradução para uma imagem. Não sei como usar o vetor de rotação. Eu gostaria de converter o vetor rotacional em dois ângulos, o ângulo de inclinação e o ângulo de azimute (como em coordenadas esféricas), porque assim seria mais fácil para mim usar.

Eu criei alguns casos de teste: Locais de pontos 3D: (0,0,0) (0,0,1) (1,0,1) (1,0,0) localização da câmera: (.5, -1, .5) vetor de rotação: (1.57, 0, 0) (voltado para a direção y positiva)

e quando eu virar a localização do pixel correspondentepontos correspondentes para que a câmera esteja localizada em (.5, 1, .5) (voltada para a direção y negativa) o vetor de rotação é (1,2, 1,2, -1,2). Não tenho certeza de como esse último vetor o faz enfrentar a direção y negativa ...

Qualquer conselho sobre como isso funciona ou como convertê-lo em inclinação e azimute seria muito apreciado.

Respostas:

0 para resposta № 1

Usei rodrigues opencv para transformá-lo em uma matriz de rotação, depois multipliquei pelo ponto 0,0,1 e usei a nova localização do ponto para dizer onde estou procurando