資源簡介
結合xyz點云數據,調用matlab中kdtree進行搜索近鄰點,其中包括一次性對所有點進行k近鄰點搜搜,以及針對單個點進行kdtree的搜搜兩種情況。
代碼片段和文件信息
%%針對所有點一次性搜索得到
%?clc;
%?clear;
%?XYZ=load(‘C:\Users\Liuke\Desktop\data.txt‘);
%?kdtreeobj?=?KDTreeSearcher(XYZ(:[13])‘distance‘‘euclidean‘);
%?
%所有點均進行k近鄰點搜索
%idx表示在XYZ中的序列號??
%dist表示k個近鄰點到待搜索點的距離,按照升序進行排序
%?[idxdist]=knnsearch(XYZXYZ‘dist‘‘euclidean‘‘k‘50);
%?
%?plot3(XYZ(:1)XYZ(:2)XYZ(:3)‘b.‘);
%?hold?on;
%?
%?searchX=XYZ(10001);
%?searchY=XYZ(10002);
%?searchZ=XYZ(10003);
%?
%?plot3(searchXsearchYsearchZ‘go‘);
%?hold?on;
%?
%將搜索得到的近鄰點進行顯示
%?nearest=[];
%?for?i=1:20
%?????id=idx(1000i+1);
%?????nearest=[nearest;XYZ(id1)XYZ(id2)XYZ(id3)];
%?end
%?plot3(nearest(:1)nearest(:2)nearest(:3)‘r.‘);
%%針對單個點逐一進行搜索
- 上一篇:演化博弈matlab源代碼
- 下一篇:電弧爐MATLAB模型
評論
共有 條評論