【问题标题】:OpenCV: RANSAC confidence parameter for finding a homographyOpenCV:用于查找单应性的 RANSAC 置信度参数
【发布时间】:2012-02-16 04:09:45
【问题描述】:

OpenCV 函数findhomography() 在两个图像的匹配点之间找到一个单应变换。 (见Definition

为了寻找匹配的点子集,可以使用 RANSAC。

这里有一个问题:与 OpenCV 中使用 RANSAC 的其他函数(例如 findfundamentalMat(参见 Definition))相比,confidence 不能的 RANSAC 参数是改变了。只有重投影阈值可以作为参数传递。

我查看了 OpenCV 源代码,对于 findhomography(),置信度被硬编码为 0.995。

出于我的目的,我需要增加它。有没有办法在不改变 OpenCV 源本身的值的情况下做到这一点?

有什么理由为什么要硬编码?

PS:我为下一个颠覆添加了更改request under Ticket 1557

【问题讨论】:

  • 两个定义链接现在都失效了!

标签: image-processing opencv homography


【解决方案1】:

之所以要硬编码,是因为对于广大用户来说,这是一个非常不错的选择。

也许您是第一个感到需要更多东西的人。但这就是为什么 OpenCV 是开放的 - 获取代码、修改它、制作补丁并将其提交给 OpenCV 开发团队 - 无论你喜欢什么。

而且,你确定这是你需要的吗?通常,更严格的 reproj 阈值可以解决问题。如果您有问题,它们可能在其他地方 - 一些选择不当的点、点匹配的拟合误差过大等。

【讨论】:

  • 你说得对:我可以自己改变它并参与开发。其实这就是我在本地 subversion 中所做的,而且效果很好。
【解决方案2】:

好吧,您不是第一个需要在 OpenCV 中更改硬编码变量或函数的人。实际上,我们正在更改很多 OpenCV 函数,以使它们在手机上更快、更高效。 如果要更改 RANSAC,只需创建一个具有不同名称的类的副本

class  CvModelEstimator2
{

}

在您的代码中,并根据需要自行修改。您还可以更改 RANSAC 的最大迭代次数,默认值非常高,会导致应用程序非常慢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-19
    • 2016-11-24
    • 2017-04-16
    • 2015-03-30
    • 2019-10-17
    • 2012-11-30
    • 2020-01-25
    • 1970-01-01
    相关资源
    最近更新 更多