cv.refineDetectedMarkers - MATLAB File Help
cv.refineDetectedMarkers

Refind not detected markers based on the already detected and the board layout

[detectedCorners, detectedIds, rejectedCorners] = cv.refineDetectedMarkers(img, board, detectedCorners, detectedIds, rejectedCorners)
[detectedCorners, detectedIds, rejectedCorners, recoveredIdxs] = cv.refineDetectedMarkers(...)
[...] = cv.refineDetectedMarkers(..., 'OptionName',optionValue, ...)

Input

Output

Options

This function tries to find markers that were not detected in the basic cv.detectMarkers 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 cv.projectPoints 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.

See also