[][src]Function opencv::aruco::interpolate_corners_charuco

pub fn interpolate_corners_charuco(
    marker_corners: &dyn ToInputArray,
    marker_ids: &dyn ToInputArray,
    image: &dyn ToInputArray,
    board: &PtrOfCharucoBoard,
    charuco_corners: &mut dyn ToOutputArray,
    charuco_ids: &mut dyn ToOutputArray,
    camera_matrix: &dyn ToInputArray,
    dist_coeffs: &dyn ToInputArray,
    min_markers: i32
) -> Result<i32>

Interpolate position of ChArUco board corners

Parameters

  • markerCorners: vector of already detected markers corners. For each marker, its four corners are provided, (e.g std::vectorstd::vectorcv::Point2f> > ). For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise.
  • markerIds: list of identifiers for each marker in corners
  • image: input image necesary for corner refinement. Note that markers are not detected and should be sent in corners and ids parameters.
  • board: layout of ChArUco board.
  • charucoCorners: interpolated chessboard corners
  • charucoIds: interpolated chessboard corners identifiers
  • cameraMatrix: optional 3x3 floating-point camera matrix inline formula
  • distCoeffs: optional vector of distortion coefficients inline formula of 4, 5, 8 or 12 elements
  • minMarkers: number of adjacent markers that must be detected to return a charuco corner

This function receives the detected markers and returns the 2D position of the chessboard corners from a ChArUco board using the detected Aruco markers. If camera parameters are provided, the process is based in an approximated pose estimation, else it is based on local homography. Only visible corners are returned. For each corner, its corresponding identifier is also returned in charucoIds. The function returns the number of interpolated corners.

C++ default parameters

  • camera_matrix: noArray()
  • dist_coeffs: noArray()
  • min_markers: 2