提供的关键点上的orb描述符计算

时间:2014-04-14 14:04:27

标签: opencv feature-extraction orb feature-descriptor

我使用的是opencv 2.4.8。这样声明球体:

int patchSize = 31;
ORB orb(1000,1.0f,1,patchSize,0,2,ORB::HARRIS_SCORE,patchSize);

补丁大小是否意味着关键点周围应该有(patchsize-1)/ 2空间?

我在坐标处提供垂直和水平15像素边距的关键点,但这样的位置无法产生描述符。

例如,对于图像240x320,即使有足够的像素(0,1,...... 14 - > 15像素),也无法描述点(15,15)。

1 个答案:

答案 0 :(得分:2)

OpenCV使用KeyPointsFilter::runByImageBorder与选定的edgeThreshold(您的patchSize)来消除靠近图像边界的关键点以进行ORB计算(文件为modules/features2d/src/orb.cpp,如果你想看看; computeKeyPoints中的第669行。

所以你的保证金实际上是31,而不是15。

希望有所帮助!