有两点云,知道两个点云部分配对好的点,分别放入cloud_in,cloud_out中,可以利用TransformationEstimationSVD直接求转换矩阵.
头文件
#include<pcl/registration/transformation_estimation_svd.h>
typedef pcl::PointXYZ PointT;
四行代码
pcl::registration::TransformationEstimationSVD<PointT, PointT>::Matrix4 Transformation;
pcl::registration::TransformationEstimationSVD<PointT, PointT> TESVD;
TESVD.estimateRigidTransformation(*cloud_in, *cloud_out, Transformation);
pcl::transformPointCloud(*cloudFrom, *cloudAfter, Transformation);
cloudAfter就是cloudFrom经过旋转转换后的点云