calibrateCameraAsync function
Future<(double, Mat, Mat, Mat, Mat)>
calibrateCameraAsync(
- Contours3f objectPoints,
- Contours2f imagePoints,
- (int, int) imageSize,
- InputOutputArray cameraMatrix,
- InputOutputArray distCoeffs, {
- Mat? rvecs,
- Mat? tvecs,
- int flags = 0,
- (int, int, double) criteria = (TERM_COUNT + TERM_EPS, 30, 1e-4),
Implementation
Future<(double rmsErr, Mat cameraMatrix, Mat distCoeffs, Mat rvecs, Mat tvecs)> calibrateCameraAsync(
Contours3f objectPoints,
Contours2f imagePoints,
(int, int) imageSize,
InputOutputArray cameraMatrix,
InputOutputArray distCoeffs, {
Mat? rvecs,
Mat? tvecs,
int flags = 0,
(int type, int count, double eps) criteria = (TERM_COUNT + TERM_EPS, 30, 1e-4),
}) async {
rvecs ??= Mat.empty();
tvecs ??= Mat.empty();
final cRmsErr = calloc<ffi.Double>();
return cvRunAsync0(
(callback) => ccalib3d.cv_calibrateCamera(
objectPoints.ref,
imagePoints.ref,
imageSize.cvd.ref,
cameraMatrix.ref,
distCoeffs.ref,
rvecs!.ref,
tvecs!.ref,
flags,
criteria.cvd.ref,
cRmsErr,
callback,
), (c) {
final rmsErr = cRmsErr.value;
calloc.free(cRmsErr);
return c.complete((rmsErr, cameraMatrix, distCoeffs, rvecs!, tvecs!));
});
}