平面拟合
%读取一份点云:
ptCloud = pcread('000020.ply');
%设置3-D分辨率为(0.1 x 0.1 x 0.1):
figure(1);
pcshow(ptCloud,"MarkerSize",30,"BackgroundColor",'w');
%调整点的显示大小及背景颜色
title('原始点云');
percentage = 0.4;
ptCloudA = pcdownsample(ptCloud,'random',percentage);
%可视化下采样数据:
figure('Color','r');
pcshow(ptCloudA,"MarkerSize",30,"BackgroundColor",'w');
%调整点的显示大小及背景颜色
title('随机下采样点云');
% 读取原始点云文件
originalData = ptCloudA; % 将 'original_point_cloud.ply' 替换为实际的原始点云文件路径
% 定义地面平面模型参数
numIterations = 1000; % 迭代次数
inlierDistanceThreshold = 0.1; % 内点距离阈值,单位可以根据点云的单位进行调整
% 进行地面平面拟合
[model, inlierIndices, outliersIndices] = pcfitplane(originalData, inlierDistanceThreshold,[0,0,1], numIterations);
% 获取地面上的点云
groundData = select(original