当图像在 z 方向上倾斜时,SIFT 不起作用,有什么办法可以使这成为可能吗?

SIFT not working when the image is angled in z direction, is there any way i can make this possible?

这是我的模板图片: https://drive.google.com/open?id=151q9lliGc5ySFe96rY6YM4wbVjvbr9uv 这是我的测试图像,我试图在其中找到模板图像 https://drive.google.com/open?id=1ncop46vbTVTjcwp51GrcQfGX4w1WrzDI

当测试图像非常直并且没有像这样倾斜时,我能够找到很好的匹配 https://drive.google.com/open?id=1SY68YXxIpDNyK5UfgRdjomI5bkKKqLWE

但是当它像我的第一张测试图像那样倾斜或倾斜时,我无法识别好的匹配点

我正在使用 SIFT 提取关键点和描述符,并使用基于 FLANN 的搜索来匹配关键点,我几乎是根据这个 https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_feature2d/py_matcher/py_matcher.html

做所有事情

如何提高匹配的准确性?

SIFT 等普通特征检测器将 angular 不变性限制在 30 度以内。在您的情况下,您需要更多,因此您可以使用 ASIFT 算法,该算法能够匹配从 angular 差异更高的图像中提取的特征。请注意,此方法的计算要求非常高,因此如果您想实时使用它,您需要非常强大的硬件。不幸的是,它没有包含在 OpenCV 中,但是网络上有很多实现,例如在提到的网站上。