【问题标题】:Difference between cvPOSIT and cvFindExtrinsicCameraParams2cvPOSIT 和 cvFindExtrinsicCameraParams2 的区别
【发布时间】:2011-09-29 12:26:08
【问题描述】:

另一个 OpenCV 问题;

无需我实现 2 个版本 - 谁能告诉我 cvPOSTIT 和 cvFindExtrinsicCameraParams2 之间的区别以及它们各自的优点。

输入和输出似乎相同。

【问题讨论】:

    标签: iphone opencv augmented-reality


    【解决方案1】:

    根据我的经验,cvFindExtrinsicCameraParams2() 适用于共面点(因此它可能是http://dl.acm.org/citation.cfm?id=228149 的实现),而 cvPOSIT() 则不然。但我不是 100% 确定。

    【讨论】:

      【解决方案2】:

      cvPOSIT() 似乎只存在于 OpenCV 的旧 C API 中,而不存在于新的 C++ API 中。相反,cvFindExtrinsicCameraParams2() 在两者中。虽然不是一个完美的指标,但我最好的猜测是,它们都实现了 POSIT 算法,并进行了少量修改,而前者仅出于遗留原因而存在。

      除此之外,你的猜测和我的一样好。如果你想要一个明确的答案,我建议在 OpenCV 邮件列表中询问。

      【讨论】:

        【解决方案3】:

        我已经使用过 cvPOSIT。它仅适用于对象上的 3D 非共面点。因为它基于“DAVIS, D. F. D. A. L. S. 1995. Model-Based Object Pose in 25 Line of Code”中的算法。因此,您必须找到一种解决共面特征的方法

        使用 cvFindExtrinsicCameraParams2(),它也适用于平面特征,使用 cvFindHomography 求解变换,然后通过 levenberg-marquardt 近似来细化结果。对于非共面点,预处理由不同的方法 DLT(直接线性变换)完成(不再是“.. 25 行代码”文章)

        我不太确定他们的性能,哪个更快。据我所知,“.. 25 行代码”非常快,并且到目前为止适用于实时视觉。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-10-13
          • 2013-08-07
          • 2011-10-20
          • 2020-01-23
          • 1970-01-01
          • 2014-10-09
          • 2010-12-21
          • 2011-05-11
          相关资源
          最近更新 更多