点云文件快速读取方法及系统技术方案

技术编号:8532911 阅读:355 留言:0更新日期:2013-04-04 15:56
一种点云文件快速读取系统,该系统用于:创建具有多任务处理能力的N条线程,将所述点云文件分成N段快速并行读入并且分别存入N个数组中;截取出每段点云文件中每个点对应的X、Y、Z轴的坐标值;根据用户对坐标轴的选择,进行坐标轴互换;根据用户设定将对应坐标轴的坐标值用设定值替换;将N条线程的所有数组合并成一个坐标数组,并根据该坐标数组中每个点的X、Y、Z轴的坐标值绘制成点云图片。本发明专利技术还提供一种点云文件快速读取方法。本发明专利技术可以提高点云文件读取的通用性,并且在绘制点云图片前处理点云数据。

【技术实现步骤摘要】

本专利技术涉及一种文件读取方法及系统,尤其是涉及一种点云文件快速读取方法及 系统。
技术介绍
目前对点云文件的处理大多都是人工进行的,也没有在绘制点云前对数据进行处 理,拟合时还需要旋转、平移等操作。并且点云文件读取时通用性差,只能读取指定的存储 格式,不能读取没有指定分隔符的点云文件。
技术实现思路
鉴于以上内容,有必要提供一种点云文件快速读取方法,可以提高点云文件读取 的通用性,并且在绘制点云图片前处理点云数据。鉴于以上内容,还有必要提供一种点云文件快速读取系统,可以提高点云文件读 取的通用性,并且在绘制点云图片前处理点云数据。所述点云文件快速读取方法包括开启步骤获取点云文件所在的路径,并根据 该路径从计算装置的存储设备中读取并打开该点云文件;创建步骤获取该计算装置的 (PU中的所有执行单元的个数N,创建具有多任务处理能力的N条线程,将所述点云文件分 成N段快速并行读入并且分别存入N个数组中;第一截取步骤当一段点云文件中的坐标 值有分隔符时,提示用户确认该分隔符,并在得到用户确认的分隔符后,以所述分隔符为界 截取出该段点云文件中每个点对应的X、Y、Z轴的坐标值,保存到数组中;第二截取步骤当 一段点云文件中的坐标值没有分隔符时,提示用户确认每个点的坐标值长度,并根据用户 确认的坐标值长度截取该段点云文件中每个点的X、Y、Z轴的坐标值,保存到数组中;旋转 步骤根据用户对坐标轴的选择,进行坐标轴互换;替换步骤根据用户设定将对应坐标轴 的坐标值用设定值替换;及绘制步骤将N条线程的所有数组合并成一个坐标数组,并根据 该坐标数组中每个点的X、Y、Z轴的坐标值绘制成点云图片。所述点云文件快速读取系统包括开启模块,用于获取点云文件所在的路径,并根 据该路径从计算装置的存储设备中读取并打开该点云文件;创建模块,用于获取该计算装 置的CPU中的所有执行单元的个数N,创建具有多任务处理能力的N条线程,将所述点云文 件分成N段快速并行读入并且分别存入N个数组中;截取模块,用于当一段点云文件中的坐 标值有分隔符时,提示用户确认该分隔符,并在得到用户确认的分隔符后,以所述分隔符为 界截取出该段点云文件中每个点对应的X、Y、Z轴的坐标值,保存到数组中;所述截取模块 还用于当一段点云文件中的坐标值没有分隔符时,提示用户确认每个点的坐标值长度,并 根据用户确认的坐标值长度截取该段点云文件中每个点的X、Y、Z轴的坐标值,保存到数组 中;旋转模块,用于根据用户对坐标轴的选择,进行坐标轴互换;替换模块,用于根据用户 设定将对应坐标轴的坐标值用设定值替换;及绘制模块,用于将N条线程的所有数组合并 成一个坐标数组,并根据该坐标数组中每个点的X、Y、Z轴的坐标值绘制成点云图片。相较于现有技术,所述的点云文件快速读取方法及系统,可以通过创建N条线程 缩短读取大量点云文件数据的时间,还可以让用户自定义坐标值长度,以截取各个轴的坐 标值,适用性强;并且在绘制点云图片前进行坐标轴互换,并将无效值替换为设定值,减少 了用户在拟合时的旋转操作等步骤和杂点对拟合结果的影响,缩短了拟合时间,提高拟合 的准确率。附图说明图1是本专利技术点云文件快速读取系统较佳实施例的应用环境图。图2是本专利技术点云文件快速读取系统较佳实施例的功能模块图。图3A-3B是本专利技术所用点云文件坐标值的示意图。图4是本专利技术点云文件快速读取方法较佳实施例的流程图。主要元件符号说明服务器I显示设备2点云文件快速读取系统10CPU20存储设备30开启模块100创建模块200判断模块300截取模块400旋转模块500替换模块600绘制模块700如下具体实施方式将结合上述附图进一步说明本专利技术。具体实施方式参阅图1所示,是本专利技术点云文件快速读取系统较佳实施例的应用环境图。所述 点云文件快速读取系统10运行于服务器I或其它计算装置中。所述服务器I中还包括 CPU20及存储设备30。所述服务器I连接于显示设备2。所述存储设备30用于存储点云文件及绘制后的点云图片等。所述显示设备2用于显示绘制后的点云图片。参阅图2所示,是本专利技术点云文件快速读取系统较佳实施例的功能模块图。所述点云文件快速读取系统10包括开启模块100、创建模块200、判断模块300、截取模块400、旋转模块500、替换模块600及绘制模块700。所述开启模块100用于获取点云文件所在的路径,并根据该路径从存储设备30中读取并打开该点云文件。所述创建模块200用于获取所述CPU20中的所有执行单元的个数N,创建具有多任务处理能力的N条线程,将所述点云文件分成N段快速并行读入并且分别存入N个数组中。由于读取点云的数据量很大,耗时长,循环次数多,创建N条线程便可以缩短读取时间, 提高读取效率。所述判断模块300用于判断每段点云文件中的坐标值是否有分隔符。所述分隔符为除”及O到9以外的符号,包括空格、逗号等。所述判断模块300以二进制读取每段点云文件中的任意一行,查找是否含有除”及O到9以外别的符号,如果有别的符号那么该别的符号就是分隔符。在本实施例中,或者每段点云文件中的坐标值都含有分隔符,或者每段点云文件中的坐标值都不含分隔符。图3A-3B所示是本专利技术所用点云文件坐标值的示意图,其中图3A所示的点云文件中包含分隔符(空格),图3B所不的点z 文件中不包含分隔符。所述截取模块400用于当所述坐标值有分隔符时,提示用户确认该分隔符,并在得到用户确认的分隔符后,以所述分隔符为界截取出每段点云文件中每个点对应的X、Y、Z 轴的坐标值,保存到每个数组中。在图3A所示的点云文件中,每行字符串以空格为界截取出每个点对应的X、Y、 Z轴的坐标值。例如 最后一行截取后的X = -102. 9468507604, y = 103. 8298750264, z =-14. 9906925668 ο所述截取模块400还用于当所述坐标值没有分隔符时,提示用户确认每个点的坐标值长度,并根据用户确认的坐标值长度截取每段点云文件中每个点的X、Y、Z轴的坐标值,保存到每个数组中。所述截取模块400首先随机选取一段点云文件,从该段点云文件中读取一行字符串(例如读取整个点云文件的第一行字符串),然后计算该行字符串的长度 (”不算在内),将字符串长度除以3得到X、Y、Z轴的坐标值的长度Lengthl, 将Lengthl提示给用户确认,并根据用户确认后的长度Length2截取得到每段点云文件中每个点的X、Y、Z轴的坐标值,将坐标值保存到每个数组中。在图3B所示的点云文件中,以最后一行为例,字符串长度为30(不算和”), 将字符串长度除以3得到X、Y、Z轴的坐标值的长度Lengthl为10,提示用户确认后的长度 Length2为10,按该长度截取时遇到和”直接复制,不在截取的位数上累加,截取后的 X = -675. 9555535,y = 62. 61125478,z = 57.17889632。所述旋转模块500用于根据用户对坐标轴的选择,进行坐标轴互换,以减少点云拟合时的旋转操作。所述旋转模块500首先接收用户选择的需要互换的两个坐标轴,获取每个数组中每个点的坐标值,然后把每个点对应该两个坐标轴的坐标值互换,将互换后的坐标值保存到每个数组中。例如图3A中最后一行若进行X轴及Y轴互本文档来自技高网...

【技术保护点】
一种点云文件快速读取方法,其特征在于,该方法包括:开启步骤:获取点云文件所在的路径,并根据该路径从计算装置的存储设备中读取并打开该点云文件;创建步骤:获取该计算装置的CPU中的所有执行单元的个数N,创建具有多任务处理能力的N条线程,将所述点云文件分成N段快速并行读入并且分别存入N个数组中;第一截取步骤:当一段点云文件中的坐标值有分隔符时,提示用户确认该分隔符,并在得到用户确认的分隔符后,以所述分隔符为界截取出该段点云文件中每个点对应的X、Y、Z轴的坐标值,保存到数组中;第二截取步骤:当一段点云文件中的坐标值没有分隔符时,提示用户确认每个点的坐标值长度,并根据用户确认的坐标值长度截取该段点云文件中每个点的X、Y、Z轴的坐标值,保存到数组中;旋转步骤:根据用户对坐标轴的选择,进行坐标轴互换;替换步骤:根据用户设定将对应坐标轴的坐标值用设定值替换;及绘制步骤:将N条线程的所有数组合并成一个坐标数组,并根据该坐标数组中每个点的X、Y、Z轴的坐标值绘制成点云图片。

【技术特征摘要】
1.一种点云文件快速读取方法,其特征在于,该方法包括开启步骤获取点云文件所在的路径,并根据该路径从计算装置的存储设备中读取并打开该点云文件;创建步骤获取该计算装置的CPU中的所有执行单元的个数N,创建具有多任务处理能力的N条线程,将所述点云文件分成N段快速并行读入并且分别存入N个数组中;第一截取步骤当一段点云文件中的坐标值有分隔符时,提示用户确认该分隔符,并在得到用户确认的分隔符后,以所述分隔符为界截取出该段点云文件中每个点对应的X、Y、Z 轴的坐标值,保存到数组中;第二截取步骤当一段点云文件中的坐标值没有分隔符时,提示用户确认每个点的坐标值长度,并根据用户确认的坐标值长度截取该段点云文件中每个点的X、Y、Z轴的坐标值,保存到数组中;旋转步骤根据用户对坐标轴的选择,进行坐标轴互换;替换步骤根据用户设定将对应坐标轴的坐标值用设定值替换;及绘制步骤将N条线程的所有数组合并成一个坐标数组,并根据该坐标数组中每个点的X、Y、Z轴的坐标值绘制成点云图片。2.如权利要求1所述的点云文件快速读取方法,其特征在于,所述第二截取步骤包括: 随机选取一段点云文件,从该选取的点云文件中读取一行字符串;计算该行字符串的长度;将字符串长度除以3得到X、Y、Z轴的坐标值的长度Lengthl ;将Lengthl提示给用户确认;根据用户确认后的长度Length2截取得到该段点云文件中每个点的X、Y、Z轴的坐标值;及将坐标值保存到数组中。3.如权利要求1所述的点云文件快速读取方法,其特征在于,所述旋转步骤包括接收用户选择的需要互换的两个坐标轴;获取每个数组中每个点的坐标值;把每个点对应该两个坐标轴的坐标值互换;及将互换后的坐标值保存到每个数组中。4.如权利要求1所述的点云文件快速读取方法,其特征在于,所述替换步骤包括接收用户输入的需要替换的坐标轴及设定值;获取每个数组中每个点的坐标值;将每个点对应该坐标轴的坐标值替换为所述设定值;及将替换后的坐标值保存到每个数组中。5.如权利要求1所述的点云文件快速读取方法,其特征在于,所述分隔符为除 “ + ”及O到9以外别的符号。6.一种点云文件快速读取系统,其特征在于,该系统包括开启模块,用于获取点云文件所在的...

【专利技术属性】
技术研发人员:张旨光吴新元王伟
申请(专利权)人:鸿富锦精密工业深圳有限公司鸿海精密工业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1