How to slice a point cloud along z axis
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
stefano chiappini
le 7 Mar 2022
Modifié(e) : Chen Xinzhuo
le 8 Fév 2023
Hi, i got the following question:
i have a crown tree point cloud and i need to slice along z axis with with 10 cm thickness. Finally, i need to calculate the volume by alpha shape algorithm for each individual slice.
How to solve these problem?
Thank you so much![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/917844/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/917844/image.jpeg)
0 commentaires
Réponse acceptée
Paola Donis Noriega
le 28 Avr 2022
You can slice a point cloud along the z-axis as follows:
% Use the teapot point cloud as an example.
ptCloud = pcread('teapot.ply');
% Get the point cloud z limits.
minZ = ptCloud.ZLimits(1);
maxZ = ptCloud.ZLimits(2);
% Define the thickness of each slice.
thickness = 0.1;
% Use pcplayer to visualize the point cloud slices.
player = pcplayer(ptCloud.XLimits, ptCloud.YLimits, ptCloud.ZLimits);
% Use a for loop to select each point cloud slice.
for i = minZ:thickness:maxZ
% Get the logical indices of the points in each slice.
selectedIdx = ptCloud.Location(:, 3) >= i & ...
ptCloud.Location(:, 3) < (i + thickness);
% Select the point cloud slice using the indices.
ptCloudSlice = select(ptCloud, selectedIdx);
% Visualize the slice.
view(player, ptCloudSlice)
pause(0.2)
end
5 commentaires
Chen Xinzhuo
le 8 Fév 2023
Modifié(e) : Chen Xinzhuo
le 8 Fév 2023
Hi Stefano,
I also encountered the same problem recently.
I have tried but still don't know how to extract each point cloud slice.
I want to ask what method you use, please.
Thank you.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Point Cloud Processing dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!