Sift算法-----part6

Sift算法-----part6

      前言:这是本系列的最后一部分了,我们剩下的唯一工作就是采取每个关键点的指纹,这样才能把他从其他部分区别出来。

 


 

 

 

做法

 

      我们的目标是给每个关键点创建一个独一无二的指纹,前提必须他很容易计算,另一方面我们希望他在作比较时能保持相对宽松,比较在不同的两张图片中,物体总是有或多或少的区别的。

为了完成这个目标,我们为每个关键点建立一个16*16的区域,这个区域被细分为4*4的区域。如下图:

 


 

 

 

            

      然后在这个4*4的区域类,方向梯度和梯度大小被计算出来,这些方向被放入一个8位的直方图中。

                  

      梯度方向在0-44°的被放在第一个格子内,45-89°的被放在下一个格子类,依次类推,格子的高度大小与梯度的大小成正比。

 

      同时,格子的高度与改点与关键点的距离也有关系,越远影响越小。这可以通过高斯权重公式完成。

                           

 


 

 

 

 

      对这16个像素,将其放入8格的直方图中,对所有的16个区域进行计算,可以得到16*8=128个数字,我们用VECTOR来存储着128个数字,这样关键点就被这128个数字所标示。


 

 

总结:

 

 

希望大家能够好好地利用SIFT算法。

任何疑问或者建议,请留下评论。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值