2

我有很多 SIFT 关键点(一些 128 维向量),给定一个 SIFT 关键点,我想获得可视化图片(作为右侧的两个小图片,我该怎么做?我需要 servral 行MATLAB 代码来实现这一点,任何人都可以帮我一个忙吗?非常感谢。

4

2 回答 2

1

要在两个图像中可视化相应的 SIFT 点,您可以按照David Lowe在 match.m 中的 SIFT 演示中所做的那样检查之后的部分

% 显示一个带有连接已接受匹配项的线条的图形。

希望这可以帮助。

于 2011-06-07T17:45:35.620 回答
1

右边的图像看起来可能是导致关键点选择的高斯差分图像。

如果您可以访问 SIFT 算法的内部工作原理,则可以从那里获取它们。当检测到稳定的最大值时,保留导致其检测的高斯差分图像。

如果您无法访问 DoG 图像,则需要做更多的工作。给定关键点信息,您必须自己计算高斯图像的差异。如果您的关键点的比例存储在sigma其中并且您有 vlfeat (www.vlfeat.org),您应该能够(大约)按如下方式计算它:

i = imread(any one of your images)
g1 = vl_imsmooth(i, 0.9 * sigma);
g2 = vl_imsmooth(i, 1.1 * sigma);
DoG = g2 - g1;

您的小图像将是您感兴趣的关键点位置周围的方形区域。

我不确定这是否真的是这些图像,但这是我最好的猜测。

于 2011-05-21T03:02:41.987 回答