How can I extract point cloud from a pcmapndt structure?

조회 수: 3(최근 30일)
Marica Franzini
Marica Franzini 2022년 3월 25일
답변: Shivam Singh 2022년 4월 7일
I've transformed a original point cloud Matlab object to a map using the pcmapndt function. This has allowed me to perform quickly some test and find some areas having features useful to next analysis steps. With the function selectSubmap I can select these areas, but I'd like to extract the points within these submaps and save again them to a pointCloud structures.
Is it possible?
Thank you!


Shivam Singh
Shivam Singh 2022년 4월 7일
Hello Marica,
It is my understanding that you created a normal distributions transform (NDT) map (i.e., “pcmapndt” object) from the original point cloud map (i.e., “pointCloud” object) and then you selected a submap from the created NDT map by using “selectSubmap” function. You want to extract “pointCloud” object from this selected submap.
If original point cloud map is known, you may refer the following example for extracting “pointCloud” object from a selected submap:
% Create an NDT map from a point cloud map.
% ptCloudMap is point cloud map of "pointCloud" object
ndtMap = pcmapndt(ptCloudMap,voxelSize);
% Select submap from NDT map
ndtMap = selectSubmap(ndtMap, center, sz);
% Extracting point cloud from the submap, if original point cloud map, i.e. ptCloudMap is known.
roi = ndtMap.SelectedSubmap;
indices = findPointsInROI(ptCloudMap, roi);
ptCloud = select (ptCloudMap, indices, 'OutputSize', 'full');
%ptCloud is the required point cloud




Community Treasure Hunt

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

Start Hunting!

Translated by