SFIT特征抽取及Kmeans visual words python代码实现
写在前面的话
只调用了opencv的高斯滤波和图片加载
csdn图片加载不出来,可以进我的github上看,内含我的python代码,数据集等等等等
地址:https://github.com/bbbbbjw/pythonSIFT
SFIT简介
尺度不变特征转换(Scale-invariant feature
transform或SIFT)是把图像的特征以关键点的位置,方向以及特征向量表示。SIFT特征是图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性,sift特征具有高速性,经优化的SIFT匹配算法甚至可以达到实时的要求。SIFT引出了尺度空间的概念,尺度即进行高斯模糊的半径。通过不同尺度的高斯模糊掩盖了光照,仿射变换和噪音等因素而变化的点。以下将介绍SIFT代码实现的具体步骤。
SFIT实现
Step1.首先进行降采样,将图片放缩到五个不同大小形成金字塔(详见sift.mkG)。这一步的目的是为了解决图片变大变小而导致某些关键点无法被采样到的问题。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pwoHLB3l-1602752392286)(media/93e0e1c6e50cf079a50dfcc3a57cbf15.jpg)]
Step2.在每一金字塔层内,将原图进