OpenCV相机校准旋转矢量到矩阵



使用以下相机校准教程,我能够获得旋转矢量和平移矢量。https://docs.opencv.org/master/dc/dbb/tutorial_py_calibration.html

我得到了相机矩阵和旋转/平移矩阵之间的关系,但我不知道如何将这个旋转向量转化为旋转矩阵。

此外,我正在试图弄清楚如何获得投影矩阵,但我没有找到一个openCV函数来调用它。

你知道其中任何一点的方法吗?

谢谢你的帮助!

首先,相机模型的理论非常密集,但对于理解所有这些是必要的。如果你不习惯它,这里有一条维基百科路径,可以从相机和变换矩阵的基础上学习:

  • 针孔相机型号
  • 了解齐次坐标
  • 变换矩阵和
  • 三维旋转矩阵
  • 3D投影(透视投影部分(
  • 摄像头矩阵

关于OpenCV,有一个函数可以应用名为warpPerspective的透视转换。

你也可以看看几何变换模块中的所有其他函数,它们也很有趣。

您正在寻找的OpenCV函数称为cv2.Rodrigues,可用于将旋转向量转换为旋转矩阵,反之亦然。或者,在Python中,您可以使用scipy.spatial.transform.Rrotation,例如:

from scipy.spatial.transform import Rotation
rvec = [1,2,3]
rotation_object = Rotation.from_rotvec(rvec)
rotation_matrix = rotation_object.as_matrix()

最新更新