三维点三角剖分的投影矩阵

2024-09-28 18:53:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我对投影矩阵的含义感到困惑。如果我有一个单目相机,我想从两个连续帧I_k和I_{k-1}的图像(2D)点三角化3D点,我使用cv.triangulatePoints,它需要2个投影矩阵和2个2D点阵列

所以让我困惑的是:据我所知,投影矩阵将3D点转换为2D点,其格式为:K*[R | t],其中K是内在参数。假设我们有第k-1帧、第k帧和第k+1帧。让我们看看triangulatePoints方法及其声明:

triangulated4d = cv.triangulatePoints(P1, P2, kp1, kp2);

kp1-帧k中的关键点

kp2-帧k+1的关键点

P1,P2=

P1和P2是什么?我的意思是,我们是否每次在两帧之间计算P1和P2?内部参数始终保持不变,外部参数因两帧之间的旋转和平移而变化

所以我的问题是:P1和P2是:

  1. 始终固定:仅计算一次,K、R和t来自摄像机校准
  2. 不固定:始终使用新的R和t(R和t是帧k和k+1之间的变换)计算,并且k是固定的

若2是答案,那个么P1是什么,P2是什么?P1在(k-1)和k帧之间,P2在(k)和(k+1)帧之间

我只是对计算机视觉一窍不通,这让我很困惑


Tags: 方法图像参数格式矩阵cv投影关键点