如果已知两个图像之间的变换,则找到相机位置之间的变换

时间:2012-03-27 13:36:10

标签: computer-vision css-position camera-calibration matlab-cvst vision

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

1 个答案:

答案 0 :(得分:2)

如果您有两张图像,则可以执行以下步骤来生成第二台摄像机的坐标:

  1. 提取每个图像的特征点(以及描述符)(您可以使用SIFT功能)
  2. 匹配两个图像的特征点(您可以使用flann库或强力匹配)。这些匹配对中的每一对都是连接点。
  3. 您可以使用连接点来计算一个摄像机在另一个摄像机之间的相对位置。(您可以使用5点方法,但此方法需要至少5个连接点 - related paper)。
  4. 使用相对方向(在步骤3中生成)和第一个摄像机的位置来计算第二个摄像机的位置。
  5. 但是你需要一些像内在函数这样的相机信息才能准确地执行第4步,如果你没有这样的信息,就会有估算它们的方法(比如估算相机的内在函数)

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

    注意:使用此解决方案无法使用以前计算的图像转换结果。