如何可视化SIFT关键点

时间:2011-05-17 05:06:54

标签: matlab visualization computer-vision sift

我有很多SIFT关键字(一些128维向量),给定一个SIFT关键点,我想获得可视化图片(如右侧的two tiny pics,我该怎么做?我需要使用MATLAB代码的服务线来实现这个目标,任何人都可以帮我一个忙吗? 非常感谢。

2 个答案:

答案 0 :(得分: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;

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

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

答案 1 :(得分:1)

要在两个图像中显示相应的SIFT点,您可以在match.m中的David Lowe's SIFT demo中完成 检查

之后的部分
  

%显示加入线条的数字   接受的比赛。

希望这有帮助。