不好意思,太久没上没有回复各位。这个小实验的demo已上传至
http://download.csdn.net/download/u011772859/10224072,不包含显示程序。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
概述:3dIcp算法由Paul J.Besl1992年提出。它的基础是对应点集匹配算法。对应点匹配的思想是:通过对点集的旋转、平移使得两点集的误差平方和最小。在两个点集并未一一对应时,icp算法采用“距离最近的点”为标准为库集中每一个点匹配一个对应点。当对象点数很多时,匹配过程的时间代价占据了主导地位。目前各种对icp的改进方法很多是在点集配对上做文章。
2d对应点匹配算法:
点集中的每个元素为二维点(xi,yi),点集A在B上的对应点集为A’,共有N个元素。一次迭代逼近由旋转矩阵、平移矩阵构成,作用在测试集B上Theta是旋转角度,x,y是要平移的量。
[cos(theta) sin(theta) x
-sin(theta) cos(theta) y
0 0 1]
也可以直接构造二维矩阵R
[cos(theta) sin(theta)
-sin(theta) cos(theta)] (1)
A’R=A (2)
最小二乘法原则构造目标函数E=sum[(Xa-Xa')^2+(Ya-Ya'