OpenCV:将从Rodrigues()函数得到的旋转矩阵应用于点

7

我已经通过Rodrigues()获得了一个旋转矩阵,我想将其应用于点[1,0,0],以便在相机系统中找到它的坐标(暂时忽略平移向量)。

我该如何在Python中实现这个过程?

提前致谢。


请查看此链接:https://stackoverflow.com/questions/11704221/using-a-rotation-matrix-opencv - Andrey Smorodov
嗨,这个解决方案不是用Python编写的。恐怕我在Python中的矩阵乘法相关细节上遇到了一些困难... - MarcoM
1个回答

10

我已经找到了一个看起来行得通的解决方案。 以下是转换点(1,0,0)的示例代码:


以下是转换点(1,0,0)的示例代码:

# Computing rotation matrix
rotation_matrix = np.zeros(shape=(3,3))
cv2.Rodrigues(rvecs, rotation_matrix)
#Apply rotation matrix to point
original_point = np.matrix([[1],[0],[0]])
rotated_point = rotation_matrix*original_point

你好,能否添加rvecs的设置? - WurmD
我已经从cv2.SolvePnP中获取了rvecs。这是我使用的代码行:ret,rvecs,tvecs = cv2.solvePnP(np.array(obj_points,dtype =“double”),np.array(img_points,dtype =“double”),camera_matrix,dist_coefs) - MarcoM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接