我们称帧i和i+1 T之间的转换。让我们看一下帧i中的点P[i] = (Xi,Yi)。如果我们想知道这个点是否在i+1帧中,我们只需要在点P[i]上应用变换T并得到一个新点P[i+1] = T(P)。
为了获得相机的路径,我们从第 1 帧开始,图像的中心点为 P1 = (row/2,col/2) 并计算 P2 = T(P1)。相机在第 1 帧和第 2 帧之间的路径大致是连接第 2 帧中心和 P2 之间的线。我们可以通过计算 P3 = T(P2) 等来继续对第 2 帧执行此操作……问题是这些点位于图像坐标中,而不是世界坐标中。
为了解决这个问题,我们只需决定我们的“世界坐标系”PW1 = (0,0) 是第一帧的中心。在我们新的“世界坐标系”中,第二帧中相机的中心将是 PW2 = ((row/2,col/2) - P2) - PW1。对于第三帧,中心将是 PW3 = ((row/2,col/2) - P3) - PW2,对于第 i 帧 PWi+1 = ((row/2,col/2) - Pi+1 ) - PWi。这个想法是 PW_new = motion_of_the_camera_between_frames - last_location。
最后,您将拥有一组点 PW1、PW2、..、PWn,它们是相机中心所经过的路径。拟合样条曲线或其他东西并获得路径的形状。