Comparing F matrix and E Matrix

asked 2020-06-14 03:28:30 -0500

Humam Helfawi gravatar image

I am doing the following:

cv::Mat E = cv::findEssentialMat(points1, points2, camera_matrix, cv::RANSAC, 0.99899999, 5);
cv::Mat F = cv::findFundamentalMat(points1, points2, cv::RANSAC, 5);
cv::Mat F_from_E = camera_matrix * E * camera_matrix.t();
F_from_E /= F_from_E.at<double>(2,2);

Should not F & F_from_E be identical (at least up to Epsilon)? I am getting total different results.. what is wrong?

F =

[7.04979698183469e-06, 0.002432250773974527, -0.4123240414255413;
 -0.002437356457829931, 4.279234351782832e-06, 0.3213949830418951;
 0.4106037007903602, -0.3267400404863846, 1]

F_from_E =

[-133309825.1056604, -12617730813.88055, -11410224.97616318;
 12698132835.10022, 119029809.7687021, 13590317.66456599;
 11626592.7208607, -13823099.15009778, 1]
edit retag flag offensive close merge delete