如何使用从图像中获取的SIFT描述符关键点并在其上运行RANSAC(estimateGeometricTransform)?

时间:2017-03-20 12:38:38

标签: matlab sift vlfeat ransac

大家好,我对编程和MatLab相对较新。 我有一项任务要求我将不同的MatLab检测函数(SURF,BRISK,FAST等)与SIFT描述符进行比较。

我有MatLab函数的代码并检查其上的关键点,然后运行与RANSAC类似的estimateGeometricTransform并检查结果。

我遇到的困难是使用vlfeat找到一个SIFT代码来提取关键点,然后对它们运行estimateGeometricTransform。我在网上找到的现成代码是用于图像拼接和拼接的SIFT RANSAC,这不是我需要的。 我需要使用相同的图像,创建某种旋转或缩放差异,并查看关键点如何匹配不同类型的图像。

网上的所有代码似乎都难以处理。 有人可以引导我到我能找到我要找的地方,或者如果可能的话我怎么能实现呢?

1 个答案:

答案 0 :(得分:0)

  1. 从vl_sift
  2. 中提取SIFT中的关键点
  3. 找到图像的坐标点或匹配点。匹配点可以由vl_ubcmatch运行。
  4. 使用关键点运行estimateGeometryTransform。
  5. 实施例: [f1,d1] = vl_sift(I1);

    在f1或第1帧中,第一行是x坐标,第二行是y坐标。