def calculateExtrinsics(self, cameraParameters):
'''
Inputs:
cameraParameters is CameraParameters object
Calculate: rotate vector and transform vector
>>> marker.calculateExtrinsics(camera_matrix, dist_coeff)
>>> print(marker.rvec, marker.tvec)
'''
object_points = np.zeros((4,3), dtype=np.float32)
object_points[:,:2] = np.mgrid[0:2,0:2].T.reshape(-1,2)
# Test Code.
# object_points[:] -= 0.5
marker_points = self.corners
if marker_points is None: raise TypeError('The marker.corners is None')
camera_matrix = cameraParameters.camera_matrix
dist_coeff = cameraParameters.dist_coeff
ret, rvec, tvec = cv2.solvePnP(object_points, marker_points,
camera_matrix, dist_coeff)
if ret: self.rvec, self.tvec = rvec, tvec
return ret
评论列表
文章目录