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

Popular posts from this blog

javascript - Chart.js (Radar Chart) different scaleLineColor for each scaleLine -

apache - Error with PHP mail(): Multiple or malformed newlines found in additional_header -

java - Android – MapFragment overlay button shadow, just like MyLocation button -