cvPOSIT和cvFindExtrinsicCameraParams2的区别



另一个OpenCV问题;

没有我必须实现2个版本-谁能告诉我cvPOSTIT和cvFindExtrinsicCameraParams2之间的差异,也许每个的优势。

输入和输出看起来是相同的。

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

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

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

我已经使用了cvPOSIT。它只适用于物体上的3D非共面点。因为它基于"DAVIS, d.f.d.a.l.s. 1995"中的算法。基于模型的对象姿态在25行代码"。所以你必须找到一种方法来解决共面特征

使用cvFindExtrinsicCameraParams2(),它也适用于平面特征,使用cvFindHomography解决转换,然后通过levenberg-marquardt近似改进结果。对于非共面点,预处理由不同的方法DLT(直接线性变换)完成(而不是"…25行代码"文章)

我不太确定他们的性能,哪一个更快。据我所知,"……"25行代码"的速度非常快,适合目前的实时视觉。

相关内容

  • 没有找到相关文章

最新更新