VLFeat:vlmodulo_2pi_f 函数

VLFeat: vlmodulo_2pi_f function

我正在尝试了解 VLFeat SIFT 算法的内部工作原理,并且在计算图像梯度时注意到以下语句:

 *grad++ = vl_mod_2pi_f   (vl_fast_atan2_f (gy, gx) + 2*VL_PI);

我想知道这个表达式是否与我们添加 2 PI 时的 vl_fast_atan2_f (gy, gx) 不同,RHS 上表达式的模应该计算为 atan2(gy, gx)?

vl_fast_atan2_fatan2 的近似(因此更快)版本(有关详细信息,请参阅 this doc)。

仍然 returns 导致 [-pi, pi] 所以添加 2.pi 并取模 (vl_mod_2pi_f) 将结果重新调整为 [0, 2.pi] 这就是渐变角度表示。