[][src]Function opencv::calib3d::decompose_essential_mat

pub fn decompose_essential_mat(
    e: &dyn ToInputArray,
    r1: &mut dyn ToOutputArray,
    r2: &mut dyn ToOutputArray,
    t: &mut dyn ToOutputArray
) -> Result<()>

Decompose an essential matrix to possible rotations and translation.

Parameters

  • E: The input essential matrix.
  • R1: One possible rotation matrix.
  • R2: Another possible rotation matrix.
  • t: One possible translation.

This function decomposes the essential matrix E using svd decomposition HartleyZ00. In general, four possible poses exist for the decomposition of E. They are inline formula, inline formula, inline formula, inline formula.

If E gives the epipolar constraint inline formula between the image points inline formula in the first image and inline formula in second image, then any of the tuples inline formula, inline formula, inline formula, inline formula is a change of basis from the first camera's coordinate system to the second camera's coordinate system. However, by decomposing E, one can only get the direction of the translation. For this reason, the translation t is returned with unit length.