solvepnp를 사용하여 캠 프레임과 월드 프레임의 (0,0,0) 회전 및 변환을 찾을 수 있습니다.solvePnP를 사용하여 4 개의 꼭지점의 실제 위치를 찾을 수 있습니까?
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)
tvecs는 카메라 프레임에서 (0,0,0)의 위치에 해당합니까?
다른 3 점의 번역은 어떻게 찾을 수 있습니까?
다른 말로하면, 나는 모든 실제 위치를 얻을 수 있는가? ([1., 0., 0.], [0., 1., 0.] 코너 2에있는 포인트?
는과'tvec', 당신이 표현 된 3 차원 점을 변환 할 수있는'3x4' 변환 행렬을 구축 할 수 있습니다 ('로드리게스()'회전 회전 벡터의 행렬을 얻을 수 있습니다) 대상 프레임을 카메라 프레임에 넣습니다.'P_cam = [R | t] P_obj'. 변환 행렬, 동질 변환 행렬 항목을 참조하십시오. – Catree