为什么对于点云数据最近邻居我的代码和标准代码没有给出相同的结果

时间:2017-01-16 07:59:58

标签: matlab nearest-neighbor point-clouds

您好我是Matlab的新手,并尝试使用Point Clouds。我从云中选择了一个随机点并编写了一个代码,以找出它的10个最近邻居。但是,当我使用标准的Matlab函数时,它没有给出相同的结果......任何人都可以解释为什么..我的代码是:

ptCloud = pcread('Point Cloud\bunny\reconstruction\bun_zipper.ply');
xyz = ptCloud.Location;
N=size(xyz,1);
r=ceil((N/(100*rand))+10*rand);
point=x(r,:,:);

dist=sqrt(sum((xyz-repmat(point,N,1)).^2,2));

[d,ind]=sort(dist,'descend');

ind_closest = ind(1:10);

pt_closest = xyz(ind_closest,:,:);

输出:

[27955;14360;24204;13755;25659;14345;28071;24801;30746;25946]

使用标准功能时:

[ind1,d1]=**knnsearch**(xyz,point,'k',10);

输出:

1073    18275   18274   19122   18276   21598   20725   20724   1074    18273

请告诉我我做错了什么?

0 个答案:

没有答案