使用已知参数 (Python) 计算相机矩阵?

Calculate camera matrix with KNOWN parameters (Python)?

OpenCV 提供了校准相机的方法。我想知道它是否还有一种方法可以在参数已知的情况下简单地生成视图投影矩阵。

即我知道相机位置、旋转、向上、FOV...以及任何其他需要的东西,然后调用 MagicOpenCVCamera(parameters) 并获得一个 4x4 变换矩阵。

我已经搜索过了,但我只能找到有关校准相机的信息,如果您已经知道参数,则无法找到有关创建相机的信息。

投影矩阵只是一个 3x4 矩阵,其 [0:3,0:3] 左方块由相机固有校准矩阵 K 及其相机源的乘积 K.dot(R) 占据-world 旋转矩阵 R,最后一列是 K.dot(t),其中 t 是 camera-from-world 的平移。澄清一下,R 是将在世界坐标中分解的矢量引入相机坐标的矩阵,t 是尾部位于相机中心且尖端位于世界原点的矢量。

OpenCV 校准例程将相机方向生成为旋转矢量,而不是矩阵,但您可以使用 cv.Rodrigues 来转换它们。