cvPOSIT 和 cvFindExtrinsicCameraParams2 之间的区别
另一个 OpenCV 问题;
无需我实现 2 个版本 - 谁能告诉我 cvPOSTIT 和 cvFindExtrinsicCameraParams2 之间的区别以及各自的优点。
输入和输出看起来是相同的。
Another OpenCV question;
Without me having to implement 2 versions - can anyone enlighten me to what the differences are between cvPOSTIT and cvFindExtrinsicCameraParams2 and maybe the advantages of each.
The inputs and outputs appear to be the same.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
根据我的经验, cvFindExtrinsicCameraParams2() 适用于共面点(因此它可能是 http: 的实现: //dl.acm.org/itation.cfm?id=228149),而 cvPOSIT() 则不然。但我不是100%确定。
From my experience, cvFindExtrinsicCameraParams2() works for coplanar points (so it is probably an implementation of http://dl.acm.org/citation.cfm?id=228149), while cvPOSIT() doesn't. But I am not 100% sure.
看来
cvPOSIT()
只存在于 OpenCV 的旧 C API 中,而不存在于新的 C++ API 中。相反,cvFindExtrinsicCameraParams2()
两者都存在。虽然不是一个完美的指标,但我最好的猜测是,它们都实现了 POSIT 算法,并进行了较小的修改,而前者仅因遗留原因而存在。除此之外,你的猜测和我的一样好。如果您想要明确的答案,我建议您在 OpenCV 邮件列表上询问。
It appears that
cvPOSIT()
only exists in OpenCV's old C API and not in the new C++ API. Conversely,cvFindExtrinsicCameraParams2()
is in both. While not a perfect indicator, my best guess is that they both implement the POSIT algorithm with minor modifications and the former exists only for legacy reasons.Beyond that, your guess is good as mine. If you want a definitive answer, I suggest asking on the OpenCV mailing list.
我已经使用过 cvPOSIT。它仅适用于对象上的 3D 非共面点。因为它基于“DAVIS, DFDALS 1995. Model-Based Object Pose in 25 Lines of Code”中的算法。因此,您必须找到一种解决共面特征的方法,
使用 cvFindExtrinsicCameraParams2(),它也适用于平面特征,使用 cvFindHomography 求解变换,然后通过 levenberg-marquardt 近似细化结果。对于非共面点,预处理是通过不同的方法 DLT(直接线性变换)(不再是“.. 25 行代码”文章)完成的,
我不太确定他们的性能,哪个更快。据我所知,“.. 25行代码”非常快,并且适合目前的实时视觉。
I've used cvPOSIT already. It only works on 3D non-coplanar points on the object. Because it bases on the algorithm from "DAVIS, D. F. D. A. L. S. 1995. Model-Based Object Pose in 25 Lines of Code". So you will have to find a way around for coplanar features
With cvFindExtrinsicCameraParams2(), it also works on planar features, solve the transformation using cvFindHomography and then refine the result by levenberg-marquardt approximation. For non-coplanar points, the preprocessing is done by a different method DLT (Direct Linear Transformation) (not ".. 25 lines of Code" article anymore)
I'm not pretty sure about thier performance, which one is faster. As I know, ".. 25 lines of code" is very fast, and suitable for realtime vision up to now.