Matlab 用Delaunay三角剖分在点云中寻找异常点
我有代表激光雷达测量的3D点云,我想移除或插值异常值 MWE创建了一个带有一些异常值的平滑曲面。然而,实际测量可以被认为是分段平滑的,因为点云表示环境的“外壳”。因此,在x和y方向进行简单的平滑操作不会产生好的结果 MWEMatlab 用Delaunay三角剖分在点云中寻找异常点,matlab,outliers,delaunay,Matlab,Outliers,Delaunay,我有代表激光雷达测量的3D点云,我想移除或插值异常值 MWE创建了一个带有一些异常值的平滑曲面。然而,实际测量可以被认为是分段平滑的,因为点云表示环境的“外壳”。因此,在x和y方向进行简单的平滑操作不会产生好的结果 MWE rng(42); [X, Y] = meshgrid(linspace(-1, 1, 31), linspace(-1, 1, 31)); Z = peaks(X,Y); T = delaunay(X,Y); % create noisy samples noise_i
rng(42);
[X, Y] = meshgrid(linspace(-1, 1, 31), linspace(-1, 1, 31));
Z = peaks(X,Y);
T = delaunay(X,Y);
% create noisy samples
noise_idx = randi(numel(Z_noisy), 20, 1);
Z_noisy = Z;
Z_noisy(noise_idx) = Z_noisy(noise_idx)+3*sign(rand(size(noise_idx))-0.5);
% visualization
trisurf(T,X,Y,Z_noisy, 'FaceColor', 'interp');
view([0 90]);
我有三个独立的问题,回答其中任何一个都会非常有帮助
noise_idx
在MWE中)trisurf
参数,以便不绘制异常值?我希望避免创建另一个Delaunay三角剖分