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_f
是 atan2
的近似(因此更快)版本(有关详细信息,请参阅 this doc)。
仍然 returns 导致 [-pi, pi]
所以添加 2.pi
并取模 (vl_mod_2pi_f
) 将结果重新调整为 [0, 2.pi]
这就是渐变角度表示。
我正在尝试了解 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_f
是 atan2
的近似(因此更快)版本(有关详细信息,请参阅 this doc)。
仍然 returns 导致 [-pi, pi]
所以添加 2.pi
并取模 (vl_mod_2pi_f
) 将结果重新调整为 [0, 2.pi]
这就是渐变角度表示。