solvePnPRansacUsacAsync function

Future<(bool, Mat, Mat, Mat)> solvePnPRansacUsacAsync(
  1. InputArray objectPoints,
  2. InputArray imagePoints,
  3. InputOutputArray cameraMatrix,
  4. InputArray distCoeffs, {
  5. OutputArray? rvec,
  6. OutputArray? tvec,
  7. OutputArray? inliers,
  8. UsacParams? params,
})

Finds an object pose from 3D-2D point correspondences using the RANSAC scheme.

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

Implementation

Future<(bool rval, Mat rvec, Mat tvec, Mat inliers)> solvePnPRansacUsacAsync(
  InputArray objectPoints,
  InputArray imagePoints,
  InputOutputArray cameraMatrix,
  InputArray distCoeffs, {
  OutputArray? rvec,
  OutputArray? tvec,
  OutputArray? inliers,
  UsacParams? params,
}) async {
  rvec ??= Mat.empty();
  tvec ??= Mat.empty();
  inliers ??= Mat.empty();
  params ??= UsacParams();
  final prval = calloc<ffi.Bool>();
  return cvRunAsync0(
      (callback) => ccalib3d.cv_solvePnPRansac_1(
            objectPoints.ref,
            imagePoints.ref,
            cameraMatrix.ref,
            distCoeffs.ref,
            rvec!.ref,
            tvec!.ref,
            inliers!.ref,
            params!.ref,
            prval,
            callback,
          ), (c) {
    final rval = prval.value;
    calloc.free(prval);
    return c.complete((rval, rvec!, tvec!, inliers!));
  });
}