How can I change elevation data in point cloud

6 views (last 30 days)
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

Answers (1)

Adam Danz
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
Ahmet Selim Arslan
Ahmet Selim Arslan on 13 Jan 2021
Edited: Ahmet Selim Arslan on 13 Jan 2021
Thank you for the comment it will helps me :)
Adam Danz
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.

Sign in to comment.

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!