【发布时间】:2016-08-15 23:08:47
【问题描述】:
我能够在 Python 中使用 OpenCV 计算相机校准。但是,我真正需要的是投影矩阵。查看文档中的方程,看起来这是P = K[R|T],其中 K 是内在矩阵,R 是旋转矩阵,T 是平移向量。这是我用来计算投影矩阵的代码:
ret, matrix, distCoef, rvecs, tvecs = cv2.calibrateCamera([world_points], [corners], gray.shape[::-1], flags=cv2.CALIB_USE_INTRINSIC_GUESS)
K = matrix
R = cv2.Rodrigues(rvecs[0])[0]
T = tvecs[0]
RT = np.concatenate((R,T),axis=1)
P = np.dot(K, RT)
这是正确的吗?据我了解,我应该可以通过 P * [x;是; z; 1] 其中 (x,y,z) 是一个世界点,输出应该是对应的像素坐标。我试过这个,但输出看起来非常错误。这是否意味着它是一个糟糕的校准,还是我构建的 P 不正确?
【问题讨论】:
标签: python opencv matrix computer-vision vision