我试图找到移动相机所需的角度,这样它就在物体的正前方。如果我的相机从左边以30度角观察对象,那么脚本应该返回30度。我用cv2.decomposteHomographyMat来找到一个运行良好的旋转矩阵。这个函数返回了4个解,所以在我的脚本中我输出了4个角度。在这些角度中,只有两个独特的角度。我的问题是我不知道这两个角度中哪一个是正确的。在
我知道decomposteHomographyMat返回四个可能的解,但是角度不应该相同吗?我还发现了投影到二维平面上的点的坐标,但我不确定如何处理这些信息,以确定哪个角度是正确的(这里pts3D是从相机图像中获取的对象的2D点,z列加上0,使其成为3D pts):
for i in range(len(Ts)):
projectedPts = cv2.projectPoints(pts3D, Rs[i], Ts[i], CAM_MATRIX, DIST_COEFFS)[0][:,0,:]
这是我的代码片段。也许我从旋转矩阵中确定的角度不正确?在下面的例子中,y1和y2是相同的角度,y3和y4是相同的角度。有人能帮我解释一下我是如何确定哪个角度是正确的,以及为什么会返回两个不同的角度?在
^{pr2}$谢谢!在
目前没有回答
相关问题 更多 >
编程相关推荐