如何获得规模,轮换和功能跟踪后的翻译?

时间:2015-10-19 10:17:11

标签: image-processing computer-vision feature-extraction

我已经实施了Kanade-Lucas-Tomasi功能跟踪器。我在两个显示相同场景的图像上使用它,但相机在拍照之间有一点点移动。

结果我得到了这些特征的坐标。例如:

1. Picture:
| feature | (x,y)=val       |
|---------|-----------------|
| 1       | (436,349)=33971 |
| 2       | (440,365)=29648 |
| 3       | ( 36,290)=29562 |

2nd Picture:
| feature | (x,y)=val    |
|---------|--------------|
| 1 | (443.3,356.0)=0    |
| 2 | (447.6,373.0)=0    |
| 3 | ( -1.0, -1.0)=-4   |

所以我知道功能1&的位置。在两个图像中都有2个,并且在第二个图像中找不到特征3。特征1和1的坐标。 2是不一样的,因为相机已经放大了一点并且也移动了。

哪种算法适合获取两幅图像之间的比例,旋转和平移?是否有一个强大的算法,也考虑异常值?

2 个答案:

答案 0 :(得分:0)

如果您不知道图像之间发生了什么运动,那么您需要计算它们之间的Homography。然而,单应性需要计算4个点。

如果两个图像中有4个点,相对在平面上(相同的平面,例如窗口),则可以按照here in math.stackexchange中的步骤计算将在图像之间转换的单应矩阵

请注意,虽然旋转和平移可能发生在2张图像之间,但它们也可能是从不同的角度拍摄的。如果发生这种情况,那么单应性是你唯一的选择。相反,如果图像肯定只是旋转和平移(例如2个卫星图像),那么你可能会找到其他方法,但单应性也会有所帮助。

答案 1 :(得分:0)

  1. 取决于相机是校准还是未校准,跟踪功能分别计算基本矩阵或基本矩阵。
  2. 将矩阵分解为R,T。使用Multiview几何图书获取公式的任何帮助。 https://www.robots.ox.ac.uk/~vgg/hzbook/hzbook1/HZepipolar.pdf
  3. 注意:这些步骤仅在功能来自不同深度平面并覆盖宽视野时才能正常工作。如果所有要素都位于一个平面上,您应该估计单应性并尝试对其进行分解。