cv.refineDetectedMarkers - MATLAB File Help |
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, ...)
{{[x,y],..}, ..}
.{{[x,y],..}, ..}
.rejectedCorners
array.A = [fx 0 cx; 0 fy cy; 0 0 1]
.[k1,k2,p1,p2,k3,k4,k5,k6,s1,s2,s3,s4]
of 4, 5, 8 or 12 elements.rejectedCorners
array. If it set to false, only the provided corner
order is considered (default true).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.