2

我已经获得了建筑物的两个图像。我知道这两个图像之间的转换,并且我也知道第一个相机位置相对于某个坐标系的坐标,我怎样才能在同一坐标中获得第二个图像的相机坐标. 我没有得到任何其他信息。

4

1 回答 1

2

如果您有两个图像,那么您可以执行以下步骤来生成第二个相机的坐标:

  1. 提取每个图像的特征点(连同描述符)(您可以使用 SIFT 特征)
  2. 匹配两个图像的特征点(您可以使用 flann 库或蛮力匹配)。这些匹配对中的每一个都是连接点。
  3. 您可以使用 tie points 来计算一个相机之间的相对位置。(您可以使用 5-points 方法,但对于此方法相关的论文,您至少需要 5 个 tie points )。
  4. 将相对方向(在步骤 3 中生成)与第一个摄像头的位置一起使用,以计算第二个摄像头的位置。

但是你需要一些相机信息,比如内在函数来准确地执行第 4 步,如果你没有这样的信息,那么有一些方法可以估计它们(比如估计相机的内在函数)

实际上,每个步骤所需的实现都可以在非常流行的库中找到,例如 opencv 和 libmv(两者都是用 C、C++ 实现的),但它们可能没有这些方法的 matlab 包装器,如果你愿意,可以找到它们。

注意:通过使用此解决方案,您不能使用先前计算的图像转换结果。

于 2012-03-28T11:48:26.820 回答