Je peux utiliser le solvepnp pour trouver la rotation et la translation de (0,0,0) du cadre de la came et du cadre du monde.
mtx = np.array([
[463.889 , 0 , 320],
[0 , 463.889, 240],
[0 , 0 , 1 ],
])
dist = np.array([0.0,0,0,0,0])
objp = np.zeros((4,3), np.float32)
objp[:,:2] = np.mgrid[0:2,0:2].T.reshape(-1,2)
#objp = array([[ 0., 0., 0.],
# [ 1., 0., 0.],
# [ 0., 1., 0.],
# [ 1., 1., 0.]], dtype=float32)
# let assume the square len is 1cm.
corners2 = np.float32([ [[498,136]] , [[558,138]], [[505,184]], [[569,186]]])
retval, rvecs, tvecs = cv2.solvePnP(objp, corners2, mtx, dist)
imgpts, jac = cv2.projectPoints(axis, rvecs, tvecs, mtx, dist)
Est-ce que tvecs correspond à la position de (0,0,0) de l'image de la caméra ?
Comment puis-je aussi trouver les translations des 3 autres points ? ([ 1., 0., 0.], [ 0., 1., 0.], [ 1., 1., 0.])
en d'autres termes, puis-je obtenir la position réelle de tous les points de corners2 ?