【问题标题】:Align two 3D datasets对齐两个 3D 数据集
【发布时间】:2023-01-31 10:51:35
【问题描述】:

我正在解决一个问题,我正在尝试对齐两个数据集。

  1. 问题是数据顺序未知。下面是我尝试对齐 data1 和 data3 的示例代码。

  2. 第二个问题是两个数据集中的点数不相等。

    有什么建议么?谢谢。

    rng(11);
    N = 10 %10 points
    data1 = randn(10,3); %10 coordinates
    order = randperm(N)
    data2 = data1(order,:); %Reordered data
    
    %Rotation matrix and translation vector
    rotM = [0.5771    0.1728    0.7982;
       -0.4940    0.8521    0.1728;
       -0.6503   -0.4940    0.5771]
    TT = [1 2 3];
    
    data3 = data2*rotM + TT;
    

    编辑:对齐 = 旋转和变换 data3 以恢复 rotMT

【问题讨论】:

  • “对齐”数据集是什么意思?你想让他们以某种方式共享一个起源吗?请提供更多详细信息,以及您已尝试解决问题的方法。
  • 为什么这个标记为 Python?

标签: matlab point-clouds


【解决方案1】:

您要做的是点云配准。 PC 注册很少关心点的顺序。

假设您使用的是 Matlab,您可以查看以下网站了解 Matlab ICP 算法。 https://www.mathworks.com/help/vision/ref/pcregistericp.html

rotM = tform.R;
TT = tform.Translation ;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多