Ask Your Question

Revision history [back]

Units of Rotation and translation from Essential Matrix

I obtained my Rotation and translation matrices using the SVD of E. I used the following code to do so :

    SVD svd(E);
    Matx33d W(0, -1, 0, 1, 0, 0, 0, 0, 1);    
    Mat_<double> R = svd.u * Mat(W) * svd.vt; 
    Mat_<double> t = svd.u.col(2);
    Matx34d P1(R(0, 0), R(0, 1), R(0, 2), t(0), R(1, 0), R(1, 1), R(1, 2), t(1), R(2, 0), R(2, 1), R(2, 2), t(2));

I want to know what are the units of R and t ? When I calibrated the cameras I got the baseline distance in cm , So is the translation vector units also in cm ? Also what are the units of R?

P.S : I have read the following question on Stackoverflow , but it had actually confused me as no answer was accepted. Also I wanted to know if the translation vector I got is it in the world frame?(Is it the real world distance moved from the initial position)

Units of Rotation and translation from Essential Matrix

I obtained my Rotation and translation matrices using the SVD of E. I used the following code to do so :

    SVD svd(E);
    Matx33d W(0, -1, 0, 1, 0, 0, 0, 0, 1);    
    Mat_<double> R = svd.u * Mat(W) * svd.vt; 
    Mat_<double> t = svd.u.col(2);
    Matx34d P1(R(0, 0), R(0, 1), R(0, 2), t(0), R(1, 0), R(1, 1), R(1, 2), t(1), R(2, 0), R(2, 1), R(2, 2), t(2));

I want to know what are the units of R and t ? When I calibrated the cameras I got the baseline distance in cm , So is the translation vector units also in cm ? Also what are the units of R?

P.S : I have read the following question on Stackoverflow , but it had actually confused me as no answer was accepted. Also I wanted to know if the translation vector I got is it in the world frame?(Is it the real world distance moved from the initial position)

EDIT: I have also observed that the values are normalized for the translation vector i.e x^2+y^2+z^2 is nearly 1. So how do I get the actual vector?

Units of Rotation and translation from Essential Matrix

I obtained my Rotation and translation matrices using the SVD of E. I used the following code to do so :

    SVD svd(E);
    Matx33d W(0, -1, 0, 1, 0, 0, 0, 0, 1);    
    Mat_<double> R = svd.u * Mat(W) * svd.vt; 
    Mat_<double> t = svd.u.col(2);
    Matx34d P1(R(0, 0), R(0, 1), R(0, 2), t(0), R(1, 0), R(1, 1), R(1, 2), t(1), R(2, 0), R(2, 1), R(2, 2), t(2));

I want to know what are the units of R and t ? When I calibrated the cameras I got the baseline distance in cm , So is the translation vector units also in cm ? Also what are the units of R?

P.S : I have read the following question on Stackoverflow , but it had actually confused me as no answer was accepted. Also I wanted to know if the translation vector I got is it in the world frame?(Is it the real world distance moved from the initial position)

EDIT: EDIT 1: I have also observed that the values are normalized for the translation vector i.e x^2+y^2+z^2 is nearly 1. So how do I get the actual vector?

EDIT 2: I have read the following question in Stackoverflow and I think I will be implementing it. Don't know if there is any better way.