Why does opencv's recoverPose return a non origin position when identical point vectors are supplied? -
by accident tried estimating relative position of image (don't ask). expect result of 0 translation , 0 rotation.
surprisingly, non-zero translation result. in fact rather significant result: .0825 -0.0825
.
in essence code follows:
cv::point2d pp(u0, v0); cv::mat r, t, mask; cv::mat e = cv::findessentialmat(points1, points2, focal, pp, cv::ransac, 0.999, 1.0, mask); cv::recoverpose(e, points1, points2, r, t);
in above code, t != 0. question is: non-zero result recoverpose valid when points1 , points2 identical? if so, why?
from decomposeessentialmat documentation: "by decomposing e, can direction of translation"
and translation vector constructed in such way norm of translation equal 1.
Comments
Post a Comment