我在matlab中创建了10个点云,但我在每个云中有不同数量的点。我想把它减到相同的点数。在matlab中是否有任何函数来重新采样/抽取点云到固定数量的点(例如:到1000点)?
如果有任何帮助和建议,我将不胜感激:)
假设您的云点存储为矩阵,您将有10个矩阵,每个矩阵具有不同的行数(或者您可能只有一个存储矩阵的单元格)。(我们称它们为PointCloud1、PointCloud2……PointCloud10)
如果你想随机取每个矩阵的1000个点(假设最小的矩阵至少有1000个点),我建议使用randperm生成索引的随机排列,然后取前1000个索引。
使用PointCloud1的示例:[nrows, ncols] = size(PointCloud1);
idx = randperm(nrows);
sub_PC1 = PointCloud1(idx(1:1000),:);
这里sub_PC1
是PointCloud1
随机1000行的子样本。