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



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

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

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

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

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

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

所以你的利润率实际上是31,而不是15。

希望能有所帮助!

相关内容

  • 没有找到相关文章