开始以为选取256个点对需要自己按它那个学习的方法训练选择呢。看代码一头雾水。后来看到opencv这个bit_pattern_31_ 恍然大悟。orb已经把这个训练好了。直接按照这种方法去计算获得256个点对就好。直接可以计算256维的描述子了。再具体点显然这里面存储的是
第一个5*5小模块的 x y 坐标,第二个5*5小模块的 x y 坐标。
下面贴上完整的 具体看opencv源码吧
static int bit_pattern_31_[256*4] =
{
8,-3, 9,5/*mean (0), correlation (0)*/,
4,2, 7,-12/*mean (1.12461e-05), correlation (0.0437584)*/,
-11,9, -8,2/*mean (3.37382e-05), correlation (0.0617409)*/,
...
...
7,0, 12,-2/*mean (0.127002), correlation (0.537452)*/,
-1,-6, 0,-11/*mean (0.127148), correlation (0.547401)*/
};