sift,The Scale Invariant Feature Transform ,尺度不变特征变换,是检测图像中具有唯一性、对图像平移、旋转、缩放、甚至仿射变换(如从不同角度拍摄图片)保持不变性的图像局部特征的一种有效方法。可以容易地应用到图像匹配的应用中,如目标检测与识别,或者计算图像间的几何变换。
该算法由David. Lowe在2004年发表,并在好像是2007年申请了专利。
网络已有几个版本的实现
请大家查看sift创始人的代码:David Lowe's SIFT code:
http://www.cs.ubc.ca/~lowe/keypoints
不过更易用的似乎是Rob Hess维护的sift 库:
http://blogs.oregonstate.edu/hess/code/sift/
但在使用rob代码的时候发现其非关键代码中的一个错误,而且他的代码只适于做验证,我做了一些小小的改变,使之可以更为方便的使用,可以再命令行下输入图片,并保存结果为图片和文本。文件名是被硬编码进去的
下载地址:http://download.csdn.net/source/2962313
看一下效果吧:
特征图示:
特征匹配
但是sift特征应用也有局限,在我的棋盘图像中很明显,请仔细看特征点的匹配
相关的一个很好网站
牛津视觉几何研究组
Visual Geometry Group at Oxford
http://www.robots.ox.ac.uk:5000/~vgg/research/affine/index.html