target=V0;十万点
source=V111;七万点
[COEFF,Prealligned_source] = princomp(source);
[COEFF,Prealligned_target] = princomp(target);
% the direction of the axes is than evaluated and corrected if necesarry.
Maxtarget=max(Prealligned_source)-min(Prealligned_source);
Maxsource=max(Prealligned_target)-min(Prealligned_target);
D=Maxtarget./Maxsource;
D=[D(1,1) 0 0;0 D(1,2) 0; 0 0 D(1,3)];
RTY=Prealligned_source*D;
load R
for i=1:8
T=R{1,i};
T=RTYT;T有点混乱,从结构体的矩阵元变为点云,循环结束后又变成点云,又赋值为反射矩阵元
[bb DD]=knnsearch(T,Prealligned_target);DD为什么是十万个点的向量,而不是10万3的矩阵?
MM(i,1)=sum(DD);
end
[M I]=min(MM);
T=R{1,I};赋值为反射矩阵元
Prealligned_source=Prealligned_source*T;
[d,Z,transformtarget] = procrustes(target,Prealligned_target);
[M I]=min(MM)
M =
2.7595e+05
MM本来只是八个可能性的点云反射效果,进行的求和,选择其中最小的一个求和原因何在?
I =
5
T=R{1,I}
T =
-100010001
最后得到的d是误差
z是十万个点的数据,transform。。。是采取的刚体变换