繁体   English   中英

OpenCV:Orb参数

[英]OpenCV: Orb parameters

我想知道球特征检测器的参数。 我将其用作关键点提取器和描述符。 作为匹配器,我使用BFMatcher。

此刻我像这样使用它:

ORB orb(25, 1.0f, 2, 10, 0, 2, 0, 10);

因为我正在查看小的图像和快速的性能,所以我将功能的数量减少到大约25。这似乎在我的应用程序中仍然可以正常工作。 问题开始于第二个参数。 其默认值为1.2。 我将它设置为1前一阵子,但发现那里的值很高,速度很快。 问题是,我开始遇到这个问题:

OpenCV错误:断言失败((type == CV8U && dtype == CV_32S)|| dtype == CV_32F)在cv_batchDistance中,文件.... stat.cpp,第2480行

接下来是金字塔等级的参数。 默认值为8。我将其设置为2,这又给我带来了另一个很大的性能改进。 但是,如果我将其设置为1,则会引发与上述相同的错误。

由于我正在处理小图片,因此尝试将其设置为较低的值。 但这似乎并没有改变任何东西。 最后一个参数(patchSize)也是如此。 它指出这些参数应该大致匹配。

我对其余参数不感兴趣。

正如我在其他问题中已经解释的那样,我正在尝试跟踪视频中的对象。 为此,我为每个边界框提取其特征,并尝试将其与下一个特征的边界框进行匹配。 通过这样做,我试图建立框架之间的关系。 到目前为止,它运行良好。 但是我需要更快。 如果边界框不止几个,那么花费的时间太长了,因为我想实时获取@ 30FPS。

如果有人可以通过这些参数帮助我,我将不胜感激。

根据文档,参数编号4和8的值指示关键点应距边界多远。 由于您使用的是小图像,因此10像素可能是一个不错的选择,但是如果您想要更多居中的关键点,则可以使用更大的值。 第二个参数必须大于1,我不知道您选择了什么值,但是您可以尝试2。您对参数7并不感兴趣,但是可以将其设置为1而不是0,因为1对应于FAST_SCORE它比HARRIS_SCORE的计算速度更快。 如果添加代码,则可以帮助您解决错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM