gpt4 book ai didi

c++ - OpenCV:Orb 参数

转载 作者:太空宇宙 更新时间:2023-11-04 13:56:09 24 4
gpt4 key购买 nike

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

目前我是这样使用的:

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

因为我正在查看小图像和快速性能,所以我将特征数量减少到大约 25 个。这似乎仍然适用于我的应用程序。问题从第二个参数开始。它的默认值为 1.2。我刚才将它设置为 1,但发现那里的值更高,速度要快得多。问题是,我开始遇到这个问题:

OpenCV Error: Assertion failed ((type == CV8U && dtype == CV_32S) ||dtype == CV_32F) in cv_batchDistance, file..........stat.cpp, line 2480

接下来是金字塔等级的参数。默认值为 8。我将其设置为 2,这给了我另一个巨大的性能提升。但是如果我将它设置为 1,它会抛出与上面相同的错误。

由于我处理的是小图片,所以我尝试将其设置为较低的值。但它似乎并没有改变任何东西。这同样适用于最后一个参数 (patchSize)。它声明这些参数应该大致匹配。

我对剩下的参数不感兴趣。

正如我在其他问题中所解释的那样,我正在尝试跟踪视频中的对象。为此,我为每个边界框提取其特征,并尝试将其与下一个特征的边界框匹配。通过这样做,我试图在框架之间建立关系。到目前为止它运作良好。但我需要更快。如果有多个边界框,则需要很长时间,因为我想以 30FPS 的速度实时获取它。

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

最佳答案

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

关于c++ - OpenCV:Orb 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21362695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com