提供关键点的ORB描述符计算

3

我正在使用OpenCV 2.4.8。orb的声明如下:

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

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

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

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

1个回答

2
OpenCV使用KeyPointsFilter :: runByImageBorder和选择的edgeThreshold(即patchSize)来消除ORB计算中靠近图像边缘的关键点(如果您想查看,文件是modules / features2d / src / orb.cpp,在computeKeyPoints的第669行)。

因此,您的边距实际上是31,而不是15。

希望这可以帮助您!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接