I ultimately would like to get camera-to-world rotation matrices for my cameras in the NED frame but am struggling to understand the conventions used in Pix4D and how the internal and external camera parameters map to each other. I’ve read Yaw, Pitch, Roll and Omega, Phi, Kappa angles – Support and How are the Internal and External Camera Parameters defined? – Support but am still having trouble reconciling the Pix4D outputs.
For example, one of my entries in calibrated_external_camera_parameters.txt gives me omega/phi/kappa values of 91.277233, -45.714811, 0.991059. Using the equations in the second link, I derive the following rotation matrix, which I assume is in ENU frame per https://s3.amazonaws.com/mics.pix4d.com/KB/documents/Pix4D_Yaw_Pitch_Roll_Omega_to_Phi_Kappa_angles_and_conversion.pdf:
[[ 6.9608e-01, -1.0111e-02, -7.1789e-01],
[-7.1796e-01, -8.7643e-03, -6.9603e-01],
[ 7.4567e-04, 9.9991e-01, -1.3360e-02]]
However, in calibrated_camera_parameters I see the following rotation matrix, which has the same values but in a different order:
[[ 6.9608e-01, -7.1796e-01, 7.4567e-04],
[ 1.0111e-02, 8.7643e-03, -9.9991e-01],
[ 7.1789e-01, 6.9603e-01, 1.3360e-02]]
How are the Internal and External Camera Parameters defined? – Support suggests that “it is necesary to rotate the X axis,” however it’s not clear what that entails exactly. Some more details on the equations as requested in How are the Internal and External Camera Parameters defined? – Support would be extremely helpful.