[][src]Function opencv::aruco::calibrate_camera_aruco_with_stddev

pub fn calibrate_camera_aruco_with_stddev(
    corners: &dyn ToInputArray,
    ids: &dyn ToInputArray,
    counter: &dyn ToInputArray,
    board: &PtrOfBoard,
    image_size: Size,
    camera_matrix: &mut dyn ToInputOutputArray,
    dist_coeffs: &mut dyn ToInputOutputArray,
    rvecs: &mut dyn ToOutputArray,
    tvecs: &mut dyn ToOutputArray,
    std_deviations_intrinsics: &mut dyn ToOutputArray,
    std_deviations_extrinsics: &mut dyn ToOutputArray,
    per_view_errors: &mut dyn ToOutputArray,
    flags: i32,
    criteria: &TermCriteria
) -> Result<f64>

Calibrate a camera using aruco markers

Parameters

  • corners: vector of detected marker corners in all frames. The corners should have the same format returned by detectMarkers (see #detectMarkers).
  • ids: list of identifiers for each marker in corners
  • counter: number of markers in each frame so that corners and ids can be split
  • board: Marker Board layout
  • imageSize: Size of the image used only to initialize the intrinsic camera matrix.
  • cameraMatrix: Output 3x3 floating-point camera matrix inline formula . If CV_CALIB_USE_INTRINSIC_GUESS and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be initialized before calling the function.
  • distCoeffs: Output vector of distortion coefficients inline formula of 4, 5, 8 or 12 elements
  • rvecs: Output vector of rotation vectors (see Rodrigues ) estimated for each board view (e.g. std::vectorcv::Mat>). That is, each k-th rotation vector together with the corresponding k-th translation vector (see the next output parameter description) brings the board pattern from the model coordinate space (in which object points are specified) to the world coordinate space, that is, a real position of the board pattern in the k-th pattern view (k=0.. M -1).
  • tvecs: Output vector of translation vectors estimated for each pattern view.
  • stdDeviationsIntrinsics: Output vector of standard deviations estimated for intrinsic parameters. Order of deviations values: inline formula If one of parameters is not estimated, it's deviation is equals to zero.
  • stdDeviationsExtrinsics: Output vector of standard deviations estimated for extrinsic parameters. Order of deviations values: inline formula where M is number of pattern views, inline formula are concatenated 1x3 vectors.
  • perViewErrors: Output vector of average re-projection errors estimated for each pattern view.
  • flags: flags Different flags for the calibration process (see #calibrateCamera for details).
  • criteria: Termination criteria for the iterative optimization algorithm.

This function calibrates a camera using an Aruco Board. The function receives a list of detected markers from several views of the Board. The process is similar to the chessboard calibration in calibrateCamera(). The function returns the final re-projection error.

C++ default parameters

  • flags: 0
  • criteria: TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON)