decomposeEssentialMat function

(Mat, Mat, Mat) decomposeEssentialMat(
  1. Mat E, {
  2. OutputArray? R1,
  3. OutputArray? R2,
  4. OutputArray? t,
})

Decompose an essential matrix to possible rotations and translation.

void cv::decomposeEssentialMat (InputArray E, OutputArray R1, OutputArray R2, OutputArray t);

https://docs.opencv.org/4.11.0/d9/d0c/group__calib3d.html#ga54a2f5b3f8aeaf6c76d4a31dece85d5d

Implementation

(Mat r1, Mat r2, Mat t) decomposeEssentialMat(Mat E, {OutputArray? R1, OutputArray? R2, OutputArray? t}) {
  R1 ??= Mat.empty();
  R2 ??= Mat.empty();
  t ??= Mat.empty();
  cvRun(() => ccalib3d.cv_decomposeEssentialMat(E.ref, R1!.ref, R2!.ref, t!.ref, ffi.nullptr));
  return (R1, R2, t);
}