H = K[R|t]
其中H(3*3)是单应矩阵,R是旋转矩阵,K是相机内参数矩阵,t是平移向量。
我使用棋盘模式计算了 K,如下所示
ret, K, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, chess_gray.shape[::-1],None,None)
单应性矩阵 H 计算为
pts_src = np.float32(pts_src)
pts_dst = np.float32(pts_dst)
H, status = cv2.findHomography(pts_src, pts_dst)
如何使用 H 和 K 分解 R 和 t
cv2.decomposeHomograpyMat(H,K,....)
如何编写上述函数的其他输入和输出?
假设 H 为单应矩阵,K 为相机矩阵,Python 代码为:
num, Rs, Ts, Ns = cv2.decomposeHomographyMat(H, K)
num将返回可能的解决方案。
Rs 包含旋转矩阵的列表。
Ts 包含平移向量的列表。
Ns 包含平面法向量的列表。
有关更多信息,请查看官方文档:
OpenCV 3.4 - decomposeHomographyMat() https://docs.opencv.org/3.4/d9/d0c/group__calib3d.html#ga7f60bdff78833d1e3fd6d9d0fd538d92
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)