solvePnP static method
(bool, Mat, Mat)
solvePnP(
- InputArray objectPoints,
- InputArray imagePoints,
- InputArray cameraMatrix,
- InputArray distCoeffs, {
- OutputArray? rvec,
- OutputArray? tvec,
- bool useExtrinsicGuess = false,
- int flags = SOLVEPNP_ITERATIVE,
- TermCriteria? criteria,
Finds an object pose from 3D-2D point correspondences for fisheye camera moodel.
Implementation
static (bool rval, Mat rvec, Mat tvec) solvePnP(
InputArray objectPoints,
InputArray imagePoints,
InputArray cameraMatrix,
InputArray distCoeffs, {
OutputArray? rvec,
OutputArray? tvec,
bool useExtrinsicGuess = false,
int flags = SOLVEPNP_ITERATIVE,
TermCriteria? criteria,
}) {
criteria ??= TermCriteria(TERM_MAX_ITER + TERM_EPS, 10, 1e-8);
rvec ??= Mat.empty();
tvec ??= Mat.empty();
final prval = calloc<ffi.Bool>();
cvRun(
() => ccalib3d.cv_fisheye_solvePnP(
objectPoints.ref,
imagePoints.ref,
cameraMatrix.ref,
distCoeffs.ref,
rvec!.ref,
tvec!.ref,
useExtrinsicGuess,
flags,
criteria!.ref,
prval,
ffi.nullptr,
),
);
final rval = prval.value;
calloc.free(prval);
return (rval, rvec, tvec);
}