VTK ICP配准

来源:互联网 发布:windows moive maker 编辑:程序博客网 时间:2024/06/08 20:16

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

    vtkSmartPointer<vtkIterativeClosestPointTransform> icpTransform =         vtkSmartPointer<vtkIterativeClosestPointTransform>::New();    icpTransform->SetSource(sourceDataSet);//源点集    icpTransform->SetTarget(targetDataSet);//目标点集    icpTransform->GetLandmarkTransform()->SetModeToRigidBody();//指定刚性变换    icpTransform->SetMaximumNumberOfIterations(nIterationNum);//迭代次数    icpTransform->Modified();    icpTransform->Update();

对sourceDataSet做icpTransform变换后即为配准结果。

原创粉丝点击