点云数据处理中常涉及近邻点查询,近邻点查询包括2种情形,一种是K近邻,另一种是半径r内近邻点。现总结这两种近邻点在MATLAB的使用。
注意:两类近邻点查询,在查询的近邻点中,都包括待搜索点自身。
(1)K近邻点查询
在MATLAB中K近邻点查询的使用案例代码如下所示:
clc;
clear;
data=load('D:');
tempData=[data(:,1),data(:,2),data(:,3)];
data=[];
data=tempData;
kdtreeobj = KDTreeSearcher(data,'distance','euclidean');
[idx,dist]=knnsearch(data,data,'dist','euclidean','k',10);%显示编号为2000的10个近邻点
points=[];
for i=1:10id=idx(2000,i);points=[points;data(id,1),data(id,2),data(id,3)];
endplot3(data(:,1),data(:,2),data(:,3),'.g');
hold on;
plot3(points(:,1),points(:,2),points(:,3),'.r');
hold on;
plot3(data(2000,1),data(2000,2),data(2000,3),'ob');
针对单个点进行搜索的案例:
本文发布于:2024-01-27 18:58:53,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063531332028.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |