How can I change elevation data in point cloud
6 views (last 30 days)
Show older comments
This is exactly my problem, how can I distribute elevation points on x and y axes in point cloud.I could not find any information
0 Comments
Answers (1)
Adam Danz
on 12 Jan 2021
Edited: Adam Danz
on 12 Jan 2021
Extract (x,y,z) coordinates from the pointCloud object (ptCloud.Location), make changes to the coordinates, and then reassign to a new pointCloud.
Demo: scatter the z-coordinates.
% Load build-in data, create pointcloud
load('xyzPoints');
ptCloud = pointCloud(xyzPoints);
% Extract (x,y,z) coordinates and randomly scatter the z-values
xyzRand = double(ptCloud.Location);
randIdx = randperm(size(xyzRand,1));
xyzRand(:,3) = xyzRand(randIdx,3);
% Create new pointcloud
ptCloudScat = pointCloud(xyzRand);
% Plot both pointclouds
figure
ax(1) = subplot(1,2,1);
pcshow(ptCloud,'Parent',ax(1))
title(ax(1),'Original')
ax(2) = subplot(1,2,2);
pcshow(ptCloudScat,'Parent',ax(2))
title(ax(2),'Z-scattered')
% Link and rotate axes
fig.UserData = linkprop(ax,'view');
set([ax.Toolbar],'Visible','off')
rotate3d('on')
2 Comments
Adam Danz
on 13 Jan 2021
Edited: Adam Danz
on 15 Jan 2021
Glad I could help.
@Ahmet Selim ArslanYou can accept helpful answers by pressing the blue 'accept' button.
See Also
Categories
Find more on Point Cloud Processing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!