Class DecomposeEssential
Decomposed the essential matrix into a rigid body motion; rotation and translation. This is the rigid body
transformation from the first camera frame into the second camera frame. A total f four possible motions
will be found and the ambiguity can be removed by calling PositiveDepthConstraintCheck
on each hypothesis.
An essential matrix is defined as E=cross(T)*R, where cross(T) is a cross product matrix, T is translation vector, and R is a 3x3 rotation matrix.
This decomposition follows the treatment in found in page 259 of "Multiple View Geometry in Computer Vision" by Richard Hartley and Andrew Zisserman.

Constructor Summary

Method Summary
Modifier and TypeMethodDescriptionboolean
Computes the decomposition from an essential matrix.void
decompose
(DMatrixRMaj U, DMatrixRMaj V) Compute the decomposition given the SVD of E=U*S*V^{T}.Returns the four possible solutions found in the decomposition.

Constructor Details

DecomposeEssential
public DecomposeEssential()


Method Details

decompose
Computes the decomposition from an essential matrix. Parameters:
E
 essential matrix

decompose
Compute the decomposition given the SVD of E=U*S*V^{T}. Parameters:
U
 Orthogonal matrix from SVD.V
 Orthogonal matrix from SVD.

getSolutions
Returns the four possible solutions found in the decomposition. The returned motions go from the first into the second camera frame.
WARNING: This list is modified on each call to decompose. Create a copy of any solution that needs to be saved.
 Returns:
 Four possible solutions to the decomposition
