ICP 全称为vtkIterativeClosestPointTransform,也是vtk经典配准算法之一,输入为vtkdataset,需指定迭代次数,配准效果优于Landmark配准,但效率低于landmark。该配准算法是一个迭代的过程,每次迭代中对于源数据点P找到目标点集Q中的最近点,然后基于最小二乘原理求解当前的变换T 。通过不断迭代直至收敛,即完成了点集的配准。
示例代码如下:
vtkSmartPointer<vtkIterativeClosestPointTransform> icpTransform =
vtkSmartPointer<vtkIterativeClosestPointTransform>::New();
icpTransform->SetSource(sourceDataSet);//源点集
icpTransform->SetTarget(targetDataSet);//目标点集
icpTransform->GetLandmarkTransform()