【问题标题】:Compute transformation between points given in two coordinate frames计算两个坐标系中给定点之间的变换
【发布时间】:2016-08-15 11:34:54
【问题描述】:

我有两个世界坐标系,例如coorAcoorB。每个系统有 4 个点(带有 xyz 的 3D 点),并且都在右手坐标系中。

我用cv::svd 试过了,但结果不对。我想计算从coorAcoorB 的旋转和平移矩阵。我怎么做?

【问题讨论】:

    标签: opencv coordinate-systems coordinate-transformation


    【解决方案1】:

    您的系统是过度定义的,因此您应该使用一种方法来最小化错误度量。一个很好的解决方案是梅山的方法。

    从您的标签来看,您更喜欢 OpenCV 中的解决方案,但您需要自己实现这种方法。 您似乎正在使用 C++,最简单的解决方案可能是使用 Eigen 数学头库及其函数Eigen::umeyama。 OpenCV可以做data conversions to Eigen

    【讨论】:

    • ,你说得对,系统过度定义。两个坐标系在同一个框架中,所以我合并了两个系统,不需要转换它们。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2020-02-12
    • 2021-08-04
    • 2021-08-04
    • 1970-01-01
    • 2023-01-26
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    相关资源
    最近更新 更多