c++ - To extract a set of feature and cluster data from the given point cloud data -


presently using pcl 1.8.0, having sample cloud data of plate has of components fitted on plate of few centimeters above on actual plate.

this cloud data cluster , features data. cloud data

by using euclidean cluster extraction, able cluster count , cluter shapes sample data , these clusters saved different pcd depending on cluster data , shape shown below. extracted cluster data

now if u observe in above image getting outer boundary of cluster per requirement, want entire outer boundary , inner features of cluster written separate pcd file, further calculation,

can 1 suggest me on how extract cluster , feature data given cloud data , write separate pcd files.

any suggestion helpful

thanks in advance

one possible solution problem:

  1. compute clusters you're doing.
  2. pick cluster you're interested in.
  3. compute minimum oriented bounding box containing cluster.
  4. use computed box clip original point cloud, getting points within box.

the process compute minimum oriented bounding box described on pcl forums. however, here's outline of solution nicola fioraio, convenience , further references:

1) compute centroid (c0, c1, c2) , normalized covariance

2) compute eigenvectors e0, e1, e2. reference system (e0, e1, e0 x e1) --- note: e0 x e1 = +/- e2

3) move points in rf --- note: transformation given rotation matrix (e0, e1, e0 x e1) & (c0, c1, c2) must inverted

4) compute max, min , center of diagonal

5) given box centered @ origin size (max_pt.x - min_pt.x, max_pt.y - min_pt.y, max_pt.z - min_pt.z) transformation have apply rotation = (e0, e1, e0 x e1) & translation = rotation * center_diag + (c0, c1, c2)


Comments

Popular posts from this blog

aws api gateway - SerializationException in posting new Records via Dynamodb Proxy Service in API -

asp.net - Problems sending emails from forum -