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 像素)。

4

1 回答 1

2

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

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

希望有帮助!

于 2015-03-26T20:14:01.333 回答