如何使用单应性在具有 SIFT 描述符和位置的同时识别两个图像?

发布于 2024-11-07 00:12:25 字数 68 浏览 0 评论 0原文

我使用 SIFT 算法并尝试使用 Kovesi 函数来获得单应性。然而,我无法成功。我只有 SIFT 算法的描述符和位置。

I use SIFT algorithm and try to use Kovesi's functions to get Homography. However, I cannot succeed. I only have descriptors and locations of the SIFT algorithm.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

指尖微凉心微凉 2024-11-14 00:12:25

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

然后您可以看到两个图像之间对应的 SIFT 描述符。为此,您需要比较每个帧中每个描述符之间的距离,然后根据最佳分数创建匹配对,并对所有点重复。

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

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

You need to perform descriptor matching between two frames. So you find the SIFT descriptors in frame A and then frame B.

Then you see which ones correspond between the two images. To do that you need to compare the distance between each descriptor in each frame and then create a matched pair from the best score and repeat for all the points.

Now, you can use RANSAC which basically just means take 4 random sets of matches, calculate the homography using the DLT and then project the points through the inverse of the homography in both directions. Measure the error and then repeat this again a number of times until you get a set of pairs that produce a homography with an error youre happy with.

Now use the chosen homography to project all the points between the images and remove all the outlying matches that have an error above a threshold you define. Then recalculate the homography based on the inliers. OpenCV is avision library that is useful for all these things. And you dont have to use SIFT. You could use SURF which has a nice implementation in OpenCV.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文