#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/surface/mls.h>
int
main(int argc
, char** argv
)
{
pcl
::PointCloud
<pcl
::PointXYZ
>::Ptr
cloud(new pcl
::PointCloud
<pcl
::PointXYZ
>());
pcl
::PCDWriter writer
;
pcl
::io
::loadPCDFile("table_scene_lms400_downsampled.pcd", *cloud
);
pcl
::search
::KdTree
<pcl
::PointXYZ
>::Ptr
tree(new pcl
::search
::KdTree
<pcl
::PointXYZ
>);
pcl
::PointCloud
<pcl
::PointNormal
> mls_points
;
pcl
::MovingLeastSquares
<pcl
::PointXYZ
, pcl
::PointNormal
> mls
;
mls
.setComputeNormals(true);
mls
.setInputCloud(cloud
);
mls
.setPolynomialFit(true);
mls
.setSearchMethod(tree
);
mls
.setSearchRadius(0.03);
mls
.process(mls_points
);
pcl
::io
::savePCDFile("bun0-mls.pcd", mls_points
);
return 0;
}
转载请注明原文地址: https://mac.8miu.com/read-515621.html