[发明专利]一种直接提取的k个最近邻点搜索方法有效

专利信息
申请号: 201310717019.3 申请日: 2013-12-23
公开(公告)号: CN103744886A 公开(公告)日: 2014-04-23
发明(设计)人: 肖晓萍;李自胜 申请(专利权)人: 西南科技大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 成都九鼎天元知识产权代理有限公司 51214 代理人: 卿诚;吴彦峰
地址: 621010 四川*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 直接 提取 近邻 搜索 方法
【权利要求书】:

1.一种直接提取的k个最近邻点搜索方法,其特征在于包括:载入模型的点云数据,针对点云数据中任意一点,从其反最近邻点的最近邻点中提取k1个最近邻点,然后通过KNN算法搜索的最近邻点中k-k1个最近邻点,所述最近邻点有k个最近邻点,其中k是正整数,k1≤k。

2.根据权利要求1所述的一种直接提取的k个最近邻点搜索方法,其特征在于所述从qhead的最近邻点中提取k1个最近邻点,然后通过KNN算法搜索qhead的最近邻点中k-k1个最近邻点具体步骤包括:

步骤1:根据模型的点云数据,建立点云数据链表PCDPointLink,qhead是点云数据中任意一点,pcdPoint是PCDPointLink中的一个节点,链表中的第一个节点指针为head,令链表遍历变量qhead=PCDPointLink→head,即用变量指针qhead指向链表的第一个节点,qhead的最近邻点集合kNN(qhead)、qhead的反最近邻点集合rkNN(qhead)、指向下一个节点的指针Next,qhead与最近邻点的最大距离dmax

步骤2:判断qhead的k个最近邻点集合kNN(qhead)是否为空,若kNN(qhead)为空,则执行步骤3;否则,执行步骤7;

步骤3:判断rkNN(qhead)是否为空,若rkNN(qhead)为空,则采用KNN算法进行搜索;否则,令遍历变量qdata=rkNN(qhead)→head,计数变量k1=0,执行步骤4;

步骤4:判断kNN(qdata)是否为空,若kNN(qdata)为空,则从qhead的反最近邻点集合的下一个点去提取,因此qdata=qdata→Next,重复步骤4;若kNN(qdata)不为空,令遍历变量pdata=kNN(qdata)→head,执行步骤5;

步骤5:判断qhead的最近邻点是否为pdata,若pdata是qhead的最近邻点,则将pdata加入到qhead的最近邻点集合中,将qhead加入到pdata的k个反最近邻点集合,同时k1=k1+1;否则,pdata不是qhead的最近邻点,则需要判断qdata的最近邻点集合中的下一个点,因此pdata=pdata→Next,并重复步骤5;

步骤6:当步骤5中,qhead的所有反近邻点的遍历完了后,比较k1与k的关系,如果k1<k,则qhead提取的最近邻点个数不足k个,通过KNN算法为qhead点搜索k-k1个最近邻点,将qhead的k1个最近邻点加入到集合kNN(qhead)中,将qhead加入到剩余的k-k1个最近邻点的反最近邻点集合rkNN(pi)中,其中pi表示通过KNN算法搜索得到的k-k1个最近邻点;如果k1=k,说明算法为qhead直接提取到了k个最近邻点,执行步骤7;

步骤7:qhead=qhead→Next,让qhead指向链表PCDPointLink下一个节点,重复步骤2到步骤6,得到qhead的k个最近邻点kNN(qhead)。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西南科技大学,未经西南科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310717019.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top