点云边界拟合系统及方法

文档序号:9930132阅读:753来源:国知局
点云边界拟合系统及方法
【技术领域】
[0001] 本发明设及一种点云处理技术,尤其设及一种点云边界拟合系统及方法。
【背景技术】
[0002] 点云边界数据对加工制造业非常重要,边界数据广泛应用于精密量测、轮廓比对、 零部件的切割加工、CNC加工补偿等多个领域。边界数据的精度直接关系到了产品加工的 精度,所W获取高精度的边界数据就显得尤为重要。
[0003] 然而,由于扫描装置精度的限制,扫描得到的点云数据只能看到轮廓,边界不清 晰,而且边界数据不易获取,对产品加工造成一定的困难。即使获得了边界数据,精度仍难 W保证。

【发明内容】

[0004] 鉴于W上内容,有必要提供一种点云边界拟合系统,其可W通过高精度的多义线 拟合算法获取点云的边界数据。 阳〇化]还有必要提供一种点云边界拟合方法,其可W通过高精度的多义线拟合算法获取 点云的边界数据。
[0006] 一种点云边界拟合系统,该系统运行于计算机中,该系统包括:导入模块,用于导 入一待测产品的点云文件,得到点云数据;网格化模块,用于对得到的点云数据进行=角网 格化处理,得到网格化点云;确定模块,用于确定网格化点云中的边界点,W及当确定网格 化点云中所有的边界点后,利用具有一预设顺序的标识对所确定的边界点进行编号,并将 编号后的边界点保存为边界点云;拟合模块,用于W所确定的边界点云中第一个编号的边 界点为起点,依据编号的顺序选取相邻的=个点并拟合成一条直线;判断模块,用于当边界 点云中还有未处理的下一个边界点时,判断该下一个边界点是否可W扩展;扩展模块,用于 当判定所述下一个边界点可W扩展时,将所拟合的直线延长至该下一个边界点;所述拟合 模块还用于,当判定所述下一个边界点不可W扩展时,W该不可W扩展的边界点为起点,依 据编号的顺序选取相邻的=个点并拟合成一条新的直线;连接模块,用于当边界点云中没 有未处理的下一个边界点,利用所拟合的直线得到多条线段,依次连接所述多条线段构成 点云边界线。
[0007] 一种点云边界拟合方法,该方法运用于计算机中,该方法包括如下步骤:导入步 骤:导入一待测产品的点云文件,得到点云数据;网格化步骤:对得到的点云数据进行=角 网格化处理,得到网格化点云;确定步骤:确定网格化点云中的边界点,W及当确定网格化 点云中所有的边界点后,利用具有一预设顺序的标识对所确定的边界点进行编号,并将编 号后的边界点保存为边界点云;拟合步骤一:W所确定的边界点云中第一个编号的边界点 为起点,依据编号的顺序选取相邻的=个点并拟合成一条直线;判断步骤:当边界点云中 还有未处理的下一个边界点时,判断该下一个边界点是否可W扩展;扩展步骤:当判定所 述下一个边界点可W扩展时,将所拟合的直线延长至该下一个边界点,并返回判断步骤;及 拟合步骤二:当判定所述下一个边界点不可W扩展时,W该不可W扩展的边界点为起点,依 据编号的顺序选取相邻的=个点并拟合成一条新的直线,并返回判断步骤;连接步骤:当 边界点云中没有未处理的下一个边界点,利用所拟合的直线得到多条线段,依次连接所述 多条线段构成点云边界线。
[0008] 相较于现有技术,所述的点云边界拟合系统及方法可W通过高精度的多义线拟合 算法获取点云的边界数据。
【附图说明】
[0009] 图1是本发明点云边界拟合系统较佳实施例的运行环境示意图。
[0010] 图2是本发明点云边界拟合系统较佳实施例的功能模块图。 W11] 图3是本发明点云中非边界点的示意图。
[0012] 图4是本发明点云中边界点的示意图。
[0013] 图5是本发明中边界点拟合及扩展的示意图。
[0014] 图6是本发明中利用不符合要求的边界点重新拟合直线的示意图。
[0015] 图7是本发明中连接所拟合的直线的示意图。
[0016] 图8是本发明点云边界拟合方法较佳实施例的作业流程图。
[0017] 主要元件符号说明
如下【具体实施方式】将结合上述附图进一步说明本发明。
【具体实施方式】
[0018] 如图1所示,是本发明点云边界拟合系统较佳实施例的运行环境示意图。该点云 边界拟合系统10运行于一台计算机1中,所述计算机1包括处理器11、存储装置12 W及显 示装置13。所述处理器11用于执行点云数据拟合系统10中的各功能模块。所述的存储装 置12用于存储计算机1的各类数据,例如一待测产品的点云文件,所述点云文件可W为一 个TXT格式的文件,该TXT格式的文件记录了待测产品的点云中每个点的坐标。所述的显 示装置13用于显示计算机1的可视化数据。
[0019] 在本实施例中,所述点云边界拟合系统10 W软件程序或指令的形式安装在存储 装置12中,并由处理器11执行。在其它实施例中,所述存储装置12可W为计算机1外接 的存储器。所述点云边界拟合系统10用于通过高精度的多义线拟合算法获取点云的边界 数据。
[0020] 如图2所示,是本发明点云边界拟合系统较佳实施例的功能模块图。该点云边界 拟合系统10包括导入模块100、网格化模块101、确定模块102,拟合模块103,判断模块 104,扩展模块105, W及连接模块106。本发明所称的模块是完成一特定功能的计算机程序 段,比程序更适合于描述软件在计算机中的执行过程,因此本发明W下对软件描述都W模 块描述。
[0021] 所述导入模块100用于导入一待测产品的点云文件,得到点云数据。
[0022] 所述网格化模块101用于对得到的点云数据进行=角网格化处理,得到网格化点 云。具体而言,从所述待测产品的点云中任意选取距离最近的两点确定一条有效边,W此有 效边作为=角形的边;寻找该有效边附近的第=点,要求该有效边与第=点所构成=角形 的外接圆内不包含其它点,否则舍弃该点;依次选取W=角形的另外两边作为有效边,寻找 有效边附近的点,构建新的=角形,要求有效边与第=点所构成的新的=角形的外接圆内 不包含其它点,依次操作循环,直到所述点云中所有的点都被连接成=角形,达到=角网格 化的效果,得到网格化点云。
[0023] 所述确定模块102用于确定网格化点云中的边界点。具体而言,所述确定边界点 的方式如下:网格化点云全部由=角形组成,判断一个点是否为边界点,需先找出所有W该 点为顶点的=角形,依次计算每个=角形中W该点为顶点的夹角的度数;然后将所有W该 点为顶点的夹角度数相加,如果和为360度,则该点不是边界点(为点云内部的点),如果和 小于360度,则该点为边界点。如图3所示,图中角Z A0B、角Z B0C、角Z COD、角Z DOE、角 Z EOF及角Z FOA相加,其和等于360度,所述确定模块102判定点0不是边界点。如图4 所示,图中角Z ABS及角Z SBC相加之和小于360,所述确定模块102确定点B为边界点。
[0024] 所述确定模块102依照上述方法确定网格化点云中所有的边界点后,还用于利用 具有一预设顺序的标识对所确定的边界点进行编号,例如标识A,B,C......,并将编号后的 边界点保存为边界点云。
[0025] 所述拟合模块103用于W所确定的边界点云中第一个编号的边界点为起点,依据 编号的顺序选取相邻的=个点并拟合成一条直线。如图5所示,所述拟合模块103 W点A (标识为A)为起点,图中点A、B、C是编号连续的相邻的S个边界点,所述拟合模块103利用 类似最小二乘法等拟合方法将点A、B、C拟合成如图5中所示的直线Ll。
[00%] 所述判断模块104用于判断是否有未处理的下一个边界点。所述判断模块104可 W根据所述编号的顺序,确定上述拟合成一条直线的=个点之后的下一个编号所对应的边 界点为下一个边界点,然后判断该下一个边界点是否被拟合成直线。如图5所示,当点A、B、 C拟合成直线后,所述判断模块104判断下一个边界点为点D,且该点未被拟合成直线,所述 判断模块104可W判定有未处理的下一个边界点。应说明的是,由于按照顺序对边界点进 行拟合,如果判断模块104判定没有未处理的下一个边界点时,表示所有边界点均被处理 W拟合成直线。
[0027] 所述的判断模块104还用于当判定有未处理的下一个边界点时,判断该下一个边 界点是否可W扩展。在本较佳实施例中,所述判断模块104可W通过计算该下一个边界点 到所对应的所拟合的直线的距离,判断所计算的距离是否小于预设的阀值。如果所计算的 距离小于与预设的阀值,表示该下一个边界点可W扩展。如果所计算的距离大于与预设的 阀值,表示该下一个边界点不可W扩展。
[0028] 所述扩展模块104用于当确定所述下一个边界点可W扩展时,将所拟合的直线延 长至所确定的下一个边界点。在本较佳实施例中,所述扩展模块104可W利用所述下一个 边界点投影到所述拟合的直线的投影点来确定所需延长到的点的坐标。
[0029] 当确定所述下一个边界点不可W扩展时,所述拟合模块103还用于W该不可W扩 展的边界点为起点,依据编号的顺序选取相邻的=个点并拟合成一条新的直线,所述的判 断模块103继续判断是否有下一个可W扩展的边界点,直至所有边界点均拟合成直线。假 设图5中点D到点A、B、C所拟合的直线的距离大于默认的阀值,即,点D为不可W扩展的边 界点,如图6所示,所述拟合模块103会W点D为新的起点,根据编号的顺序选取连续的= 个点D、E、F并拟合成新的直线L2。<
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1