How to filter certain points out of a 3D point cloud?

13 views (last 30 days)
Hello everybody,
I got a 3D point cloud which is already in the world coordinate system. I got the data from a Kinect sensor. As I want to build an occupancy grid out of the data, I need to filter out all points with Z=0. I need to do this because Z is the vertical and if Z = 0, there is no obstacle on the way. To get the point cloud I used
xyzPoints = depthToPointCloud(depthImage,depthDevice);
So in the end I want to have just the points left I can plot into the 2D grid.
Thank you very much for any help!

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 26 Oct 2015
Assuming that xyzPoints are an [nPoints x 3] array you might do this:
xyzPoints(xyzPoints(:,3)==0,:) = [];
HTH
  2 Comments
lucca k
lucca k on 3 Nov 2015
and what if I want to delete the whole row then? not just the Z value. also the according x and y values.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!