How can i use 'pcdownsampling' from Computer Vision System Toolbox?

7 views (last 30 days)
I would like to downsample a cloud of points such as no points is within a given distance of each other. In other word, I would like to downsample such that the minimum distance between the remaining point is higher than a threshold value. Using the 'gridAverage' method, the minimum distance between point is not higher than the 'gridStep', as shown here:
 
>> ptCloud = pcread('teapot.ply');
>> gridStep = 0.1;
>> ptCloudA = pcdownsample(ptCloud,'gridAverage',gridStep);
>> disp(min(pdist(ptCloudA.Location)))
0.0194557

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 25 Feb 2016
When using 'pcdownsample' with the 'gridAverage' method, the downsampled points are achieved by averaging the points inside each voxel of the 3-D grid. The size of the voxel is specified as 'gridStep'. Because of the averaging, the distance between the outputs of two neighboring voxels can be smaller than gridStep. The 'pcdownsample' cannot be used to achieve a minimum distance between point.
For a workaround, please refer to the attached script.

More Answers (0)

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!