SIFT特征描述与检测的Matlab实现
Posted 白马负金羁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SIFT特征描述与检测的Matlab实现相关的知识,希望对你有一定的参考价值。
尺度不变特征变换(SIFT, Scale Invariant Feature Transform)算法用于提取图像中的SIFT特征,该特征对旋转、尺度缩放、亮度变化等保持不变性,是非常稳定的局部特征,因为具有非常广泛的应用。
SIFT算法的主要思路是:首先构造图像的尺度空间表示,然后在尺度空间中搜索图像的极值点,由极值点再建立特征描述向量,最后用特征描述向量进行相似度匹配。本文将通过MATLAB代码来演示SIFT特征描述算法的原理。如果需要了解该算法的更多细节,推荐参考《数字图像处理原理与实践(MATLAB版)》一书。
首先给出一个测试用的主程序,它调用了SIFT的相关实现函数,然后在两幅图像中搜索特征点并进行匹配。
I1=imreadbw(\'box.png\');
I2=imreadbw(\'box_in_scene.png\');
I1=I1-min(I1(:));
I1=I1/max(I1(:));
I2=I2-min(I2(:));
I2=I2/max(I2(:));
%SIFT特征检测
[frames1,descr1,gss1,dogss1] = do_sift(I1, \'Verbosity\', 1, ...
\'NumOctaves\', 4, \'Threshold\', 0.1/3/2);
[frames2,descr2,gss2,dogss2] = do_sift(I2, \'Verbosity\', 1, ...
\'NumOctaves\', 4, \'Threshold\', 0.1/3/2);
%计算匹配
descr1 = descr1\';
descr2 = descr2\';
do_match(I1, descr1, fr
以上是关于SIFT特征描述与检测的Matlab实现的主要内容,如果未能解决你的问题,请参考以下文章