OpenCV findEssentialMat() and recoverPose() sign convention?

asked 2015-12-11 23:31:23 -0600

saihv gravatar image

updated 2015-12-11 23:38:30 -0600

If I have two images L and R taken from left and right cameras, respectively, and I am calling the essential matrix function as follows:

E = findEssentialMat(rightImagePoints, leftImagePoints, ...), and then subsequently recoverPose(E, rightImagePoints, leftImagePoints)..

The sign in the translation vector I am getting in the end is not [-1, 0, 0] as it should be (because I am calculating pose of camera L from camera R) but [1, 0, 0].. can anyone explain why to me please? I naturally assumed it would be looking for a chirality between points1 and points2 if the functions are passed points in the order points1, points2. Which camera is being considered as origin in my function call?

edit retag flag offensive close merge delete