【问题标题】:opencv SIFT/SURF: how to determin whether the two images is matched or not?opencv SIFT/SURF:如何判断两张图片是否匹配?
【发布时间】:2013-11-22 08:56:54
【问题描述】:

我是opencv的SIFT/SURF新手,当我使用两张图片测试它时,我想知道如何确定这两张图片是否匹配。

例如,我正在匹配图像 A 和图像 B。 当 B 只是 A 的旋转图像时,很容易得到匹配数,然后得到好的匹配数,除以得到百分比。 但我发现它不适用于其他情况:我的图像 A 是 325*365 图像;我的图像 B 是来自 Iphone5 的图像 A 的照片,分辨率为 640*1136,而 A 未满;当我通过 Sift/SURF 匹配它们并显示匹配时,它在我眼中匹配得响亮而清晰。但是在这里我想问一下,我的程序如何自动判断这两张图片是否匹配。

【问题讨论】:

  • 而且,当我使用 SIFT 时,图片 A 的 keysize 为 751,图片 B 的 keysize 为 2483,匹配大小为 751,匹配数为 17。当我使用 SURF 时,A 得到了keysize 887,B 得到一个 keysize 3778,匹配大小为 887,匹配数为 31。如果我使用百分比,这将非常低。
  • 示例中定义的百分比和“良好匹配”是检查“是否匹配”的不好方法。正确的方法是使用具有第二个最接近比率标准的所有匹配项来估计单应性或核几何。

标签: match surf sift


【解决方案1】:

如果您可以估计图像之间的单应变换,则图像匹配。如果不是,则不匹配。这是来自 OpenCV 文档的示例。 http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html

估计单应性的函数是 Mat H = findHomography(obj, scene, CV_RANSAC);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2020-05-04
    • 2014-02-21
    • 1970-01-01
    相关资源
    最近更新 更多