I want to verify the rotation matrix and translation vector of the intrinsic matrix factorization calculated by SFM with the rotation matrix and translation vector calculated in the binocular calibration with two cameras. `
calRealPoint(objRealPoint, boardWidth, boardHeight, frameNumber, squareSize);
cout << "cal real successful" << endl;
double rms = stereoCalibrate(objRealPoint, imagePointL, imagePointR,
cameraMatrixL, distCoeffL,
cameraMatrixR, distCoeffR,
Size(imageWidth, imageHeight), R, T, E, F/*, rvecs, rvecs*/, CALIB_USE_INTRINSIC_GUESS,
TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 100, 1e-5));
cout << "Stereo Calibration done with RMS error = " << rms << endl;
`
`
// corrected images
int pass_count = recoverPose(p1, p2, K_LEFT, noArray(), K_RIGHT, noArray(), E_, R_, t);
`
The result is that the rotation matrix is somewhat different, and the translation vector is much different.
Then I checked the API documentation, what I want to ask is what is the difference between T and t in the documentation?
Finally I used the decomposeEssentialMat function to calculate t. `
Mat t_, R1, R2;
decomposeEssentialMat(E, R1, R2, t_);
t : [-0.9992756029282842;
0.004148058533358282;
0.03782939336967541]
T=[-30.43588350113243;
0.126341347579394;
1.152205663926915]
` So what exactly is the difference between T and t? thank you