Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

asked Dec 12 '15

saihv gravatar image

OpenCV findEssentialMat() and recoverPose() sign convention?

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 t I get in the end is not [-1, 0, 0] as it should be 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.

click to hide/show revision 2
No.2 Revision

OpenCV findEssentialMat() and recoverPose() sign convention?

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 t I get in the end is not [-1, 0, 0] as it should be 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.points2. Which camera is being considered as origin in my function call?

click to hide/show revision 3
No.3 Revision

OpenCV findEssentialMat() and recoverPose() sign convention?

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 t the translation vector I get 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?

click to hide/show revision 4
No.4 Revision

OpenCV findEssentialMat() and recoverPose() sign convention?

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?