Matlab去除多余点的快速方法

Fast method to remove redundant points in Matlab

我在 Matlab 中合并了两个点云对象,比方说 pc1 和 pc2。 pc1 是参考云,即 pc2 中与 pc1 中的点相等或非常接近的所有点都需要在组合云之前移除。

说明:

解决方法:

期待您的想法!如果需要,请随时询问更多信息 - 我是这个平台的新手。谢谢!

您可以使用 ismembertolByRows 选项来检测冗余点。但是请考虑它使用立方体邻域而不是球形邻域。 假设您有两个矩阵 pc1 ,pc2 每个都有 3 列和一个公差 tol:

idx = ismembertol(pc2, pc1, tol,'ByRows', true, 'DataScale' , 1);
result = [pc1; pc2(~idx,:)];