vector of detected marker corners. For each marker, its four corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the dimensions of this array is Nx4. The order of the corners is clockwise.
ids
vector of identifiers of the detected markers. The identifier is of type int (e.g. std::vector<int>). For N detected markers, the size of ids is also N. The identifiers have the same order than the markers in the imgPoints array.
rejectedImgPoints
contains the imgPoints of those squares whose inner code has not a correct codification. Useful for debugging purposes.
Performs marker detection in the input image. Only markers included in the specific dictionary are searched. For each detected marker, it returns the 2D position of its corner in the image and its corresponding identifier. Note that this function does not perform pose estimation.
Note
The function does not correct lens distortion or takes it into account. It's recommended to undistort input image with corresponding camera model, if camera parameters are known
Refine not detected markers based on the already detected and the board layout.
Parameters
image
input image
board
layout of markers in the board.
detectedCorners
vector of already detected marker corners.
detectedIds
vector of already detected marker identifiers.
rejectedCorners
vector of rejected candidates during the marker detection process.
cameraMatrix
optional input 3x3 floating-point camera matrix
distCoeffs
optional vector of distortion coefficients of 4, 5, 8 or 12 elements
recoveredIdxs
Optional array to returns the indexes of the recovered candidates in the original rejectedCorners array.
This function tries to find markers that were not detected in the basic detecMarkers function. First, based on the current detected marker and the board layout, the function interpolates the position of the missing markers. Then it tries to find correspondence between the reprojected markers and the rejected candidates based on the minRepDistance and errorCorrectionRate parameters. If camera parameters and distortion coefficients are provided, missing markers are reprojected using projectPoint function. If not, missing marker projections are interpolated using global homography, and all the marker corners in the board must have the same Z coordinate.