cvPOSIT和cvFindExtrinsicCameraParams2的区别

4

另一个OpenCV问题;

不用我实现两个版本,有人能告诉我cvPOSTIT和cvFindExtrinsicCameraParams2之间的区别以及每个方法的优势吗?

输入和输出似乎是相同的。

3个回答

3

1

我已经使用过cvPOSIT了。它只适用于物体上的三维非共面点。因为它基于“DAVIS,D.F.D.A.L.S.1995年的25行代码中的基于模型的对象姿态算法”。所以你必须找到一个解决共面特征的方法。

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

我不太确定它们的表现,哪一个更快。据我所知,“.. 25行代码”非常快,适用于实时视觉。


1

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接