cv.estimatePoseSingleMarkers - MATLAB File Help |
Pose estimation for single markers
[rvecs, tvecs] = cv.estimatePoseSingleMarkers(corners, markerLength, cameraMatrix, distCoeffs)
[rvecs, tvecs, objPoints] = cv.estimatePoseSingleMarkers(...)
{{[x,y],..}, ..}
). The order
of the corners should be clockwise.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.{[x,y,z], ...}
).
Each element in rvecs
corresponds to the specific marker in corners
.{[x,y,z], ...}
).
Each element in tvecs
corresponds to the specific marker in corners
.This function receives the detected markers and returns their pose estimation respect to the camera individually. So for each marker, one rotation and translation vector is returned. The returned transformation is the one that transforms points from each marker coordinate system to the camera coordinate system. The marker corrdinate system is centered on the middle of the marker, with the Z axis perpendicular to the marker plane. The coordinates of the four corners of the marker in its own coordinate system are:
(-markerLength/2, markerLength/2, 0),
( markerLength/2, markerLength/2, 0),
( markerLength/2, -markerLength/2, 0),
(-markerLength/2, -markerLength/2, 0)