# How can I get rotation-vector from Euler-angles?

If I have 3 Euler-angles then how can I get rotation-vector to use it for camera-rotation in OpenCV-viz3d?

I.e. how can I get Vec3d( X, Y, Z) from Euler-angles (alfa, betta, gamma) to use in this code?

viz::Viz3d viz_3d_window("Viz window");
cv::Affine3d pose = viz_3d_window.getViewerPose();
viz_3d_window.setViewerPose( pose.rotate( Vec3d( X, Y, Z) ) );


cv::Affine3d::rotate(); https://github.com/Itseez/opencv/blob...

I can find Euler-angles from rotation-matrix by using RQDecomp3x3() or as shown in that question, but whether is there an inverse function in the OpenCV to find rotation-matrix from Euler-angles or better to find rotation-vector( Vec3d( X, Y, Z) )?

edit retag close merge delete

Sort by ยป oldest newest most voted

You can get the rotation vector from the rotation matrix directly with cv::Rodrigues.

If you have Euler angles, you can construct the corresponding rotation matrix according to the chosen convention.

An exemple of how the code looks like here: euler2rot for the Euler angles convention he chose.

more

But how can I construct the corresponding rotation matrix from Euler angles?

( 2016-02-25 05:10:09 -0600 )edit

You already extracted the Euler angles from your rotation matrix with RQDecomp3x3(), just use your rotation matrix.

( 2016-02-25 06:56:02 -0600 )edit

Official site

GitHub

Wiki

Documentation

## Stats

Asked: 2016-02-25 03:05:56 -0600

Seen: 8,865 times

Last updated: Feb 25 '16