recoverPoseCameraMatrix function

(int, Mat, Mat, Mat) recoverPoseCameraMatrix(
  1. InputArray E,
  2. InputArray points1,
  3. InputArray points2,
  4. InputArray cameraMatrix, {
  5. OutputArray? R,
  6. OutputArray? t,
  7. double distanceThresh = 1,
  8. InputOutputArray? mask,
  9. OutputArray? triangulatedPoints,
})

int cv::recoverPose (InputArray E, InputArray points1, InputArray points2, InputArray cameraMatrix, OutputArray R, OutputArray t, double distanceThresh, InputOutputArray mask=noArray(), OutputArray triangulatedPoints=noArray())

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

Implementation

(int rval, Mat R, Mat t, Mat triangulatedPoints) recoverPoseCameraMatrix(
  InputArray E,
  InputArray points1,
  InputArray points2,
  InputArray cameraMatrix, {
  OutputArray? R,
  OutputArray? t,
  double distanceThresh = 1,
  InputOutputArray? mask,
  OutputArray? triangulatedPoints,
}) {
  R ??= Mat.empty();
  t ??= Mat.empty();
  mask ??= Mat.empty();
  triangulatedPoints ??= Mat.empty();
  final prval = calloc<ffi.Int>();
  cvRun(
    () => ccalib3d.cv_recoverPose(
      E.ref,
      points1.ref,
      points2.ref,
      cameraMatrix.ref,
      R!.ref,
      t!.ref,
      distanceThresh,
      mask!.ref,
      triangulatedPoints!.ref,
      prval,
      ffi.nullptr,
    ),
  );
  final rval = prval.value;
  calloc.free(prval);
  return (rval, R, t, triangulatedPoints);
}