【问题标题】:OpenCV C++ Homograpy RANSACOpenCV C++ Homograpy RANSAC
【发布时间】:2015-03-30 00:50:06
【问题描述】:

当使用findHomographyOpenCV Features2D + Homography Documentation 一样使用时,它调用CV_RANSAC 作为它的第三个参数:

Mat H = findHomography(obj, scene, CV_RANSAC);

但在我见过的一些例子中,你可以在后面加上一个数字,像这样:

Mat H = findHomography(obj, scene, CV_RANSAC, 5);

这是做什么的?

有没有办法改变CV_RANSAC 以更好地执行,或者只是这样调用它来尽其所能地完成它的工作?

【问题讨论】:

标签: c++ opencv homography ransac


【解决方案1】:

在您发布的页面顶部是指向该函数的API documentation 的链接。

第四个参数是允许的重投影误差,以像素为单位,因此重投影仍然算作匹配。

【讨论】:

  • 允许的像素重投影误差是什么意思?
  • 当您将单应性应用于关键点(来自您的匹配)时,与您的匹配的相应关键点的距离(以像素为单位)可能必须计为一个内点。
  • 那么失败的半径?将其设置为多少合适?我知道它说的是 1 到 10,但为什么建议的最大值是 10?
  • 完全取决于您的目标和要求。如果您打算稍后使用其他方法细化结果,则设置一个非常高的阈值可能是可以的。如果结果是您的最终结果,并且您需要高精度,那么您可能需要将阈值设置得非常低(
  • 取决于您的图像分辨率以及您的场景与单应性假设的冲突程度(例如,场景是平面的或相机不移动)
猜你喜欢
  • 1970-01-01
  • 2016-03-05
  • 1970-01-01
  • 2016-11-24
  • 2015-11-09
  • 1970-01-01
  • 2012-02-16
  • 2011-06-07
  • 2015-03-22
相关资源
最近更新 更多