Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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.

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?

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?

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?