MATLAB绘制三维点云并且根据给不同点云簇添加不同颜色

点云格式: 第七列为点云簇序号

程序:

% 读取点云数据
load('pointCloudData.mat');

% 取出点云簇标记列
cluster_labels = pointCloudData(:, 7);

% 将点云簇标记列转化为离散的整数值
unique_labels = unique(cluster_labels);
label_int = zeros(size(cluster_labels));
for i = 1:length(unique_labels)
    label_int(cluster_labels == unique_labels(i)) = i;
end

% 将不同簇的点赋予不同的颜色
colors = lines(length(unique_labels));

% 绘制点云
figure;
scatter3(pointCloudData(:, 1), pointCloudData(:, 2), pointCloudData(:, 3), ...
    10, colors(label_int, :), 'filled');
axis equal;
xlabel('X');
ylabel('Y');
zlabel('Z');
title('3D Point Cloud');

结果: