如何使用Homography识别两个图像,同时具有SIFT描述符和位置?

时间:2011-05-13 23:15:15

标签: matlab

我使用SIFT算法并尝试使用Kovesi的函数来获得Homography。但是,我不能成功。我只有SIFT算法的描述符和位置。

1 个答案:

答案 0 :(得分:3)

您需要在两个帧之间执行描述符匹配。因此,您在帧A中找到SIFT描述符,然后在帧B中找到。

然后你会看到两个图像之间的对应关系。要做到这一点,你需要比较每个帧中每个描述符之间的距离,然后从最佳得分创建匹配对,并重复所有点。

现在,您可以使用RANSAC,它基本上只是意味着采用4组随机匹配,使用DLT计算单应性,然后通过两个方向上的单应性的逆矩阵投影点。测量错误,然后再次重复此操作多次,直到您得到一组产生单应性并且您满意的错误的对。

现在使用选定的单应性来投影图像之间的所有点,并删除所有错误高于您定义的阈值的外围匹配。然后根据内点重新计算单应性。 OpenCV是一个对所有这些事情都很有用的avision库。而你不必使用SIFT。您可以使用在OpenCV中具有良好实现的SURF。