我已经实施了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是不一样的,因为相机已经放大了一点并且也移动了。
哪种算法适合获取两幅图像之间的比例,旋转和平移?是否有一个强大的算法,也考虑异常值?
答案 0 :(得分:0)
如果您不知道图像之间发生了什么运动,那么您需要计算它们之间的Homography。然而,单应性需要计算4个点。
如果两个图像中有4个点,相对在平面上(相同的平面,例如窗口),则可以按照here in math.stackexchange中的步骤计算将在图像之间转换的单应矩阵
请注意,虽然旋转和平移可能发生在2张图像之间,但它们也可能是从不同的角度拍摄的。如果发生这种情况,那么单应性是你唯一的选择。相反,如果图像肯定只是旋转和平移(例如2个卫星图像),那么你可能会找到其他方法,但单应性也会有所帮助。
答案 1 :(得分:0)
注意:这些步骤仅在功能来自不同深度平面并覆盖宽视野时才能正常工作。如果所有要素都位于一个平面上,您应该估计单应性并尝试对其进行分解。