How can I change elevation data in point cloud
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
Answers (1)
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
on 13 Jan 2021
Edited: Ahmet Selim Arslan
on 13 Jan 2021
Glad I could help.
@Ahmet Selim ArslanYou can accept helpful answers by pressing the blue 'accept' button.
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!