calibrateAsync static method

Future<(double, VecMat, VecMat)> calibrateAsync(
  1. VecMat objectPoints,
  2. VecMat imagePoints,
  3. Size imageSize,
  4. InputOutputArray K,
  5. InputOutputArray D, {
  6. VecMat? rvecs,
  7. VecMat? tvecs,
  8. int flags = 0,
  9. TermCriteria? criteria,
})

async version of calibrate

Implementation

static Future<(double rval, VecMat rvecs, VecMat tvecs)> calibrateAsync(
  VecMat objectPoints,
  VecMat imagePoints,
  Size imageSize,
  InputOutputArray K,
  InputOutputArray D, {
  VecMat? rvecs,
  VecMat? tvecs,
  int flags = 0,
  TermCriteria? criteria,
}) async {
  criteria ??= TermCriteria(TERM_COUNT + TERM_EPS, 100, 2.0e-16);
  rvecs ??= VecMat();
  tvecs ??= VecMat();
  final prval = calloc<ffi.Double>();
  return cvRunAsync0(
    (callback) => ccalib3d.cv_fisheye_calibrate(
      objectPoints.ref,
      imagePoints.ref,
      imageSize.ref,
      K.ref,
      D.ref,
      rvecs!.ref,
      tvecs!.ref,
      flags,
      criteria!.ref,
      prval,
      callback,
    ),
    (c) {
      final rval = prval.value;
      calloc.free(prval);
      return c.complete((rval, rvecs!, tvecs!));
    },
  );
}