顶部图片
022-23715128

联系方式

CONTACT
  • 公众号
    新浪微博
  • 中国 ● 天津

    联系地址:天津市西青区华鼎高科技发展中心

  • 公司座机:022-23715128

    24小时热线:15522534786

    联系QQ:2085429559

    公司邮箱:gvt@techlego.com

当前位置: 首页 > 新闻资讯 > 行业新闻 >
新闻资讯NEWS

日期:2024-06-27 13:53 浏览次数: 作者:来高科技
优化导入:构建高效点云数据处理工作流 分享到:

 

​点云数据处理是三维测量与建模领域的关键环节,其导入与处理流程优化对于数据使用至关重要。扫描点云数据导入程序旨在基于三维采集软件SDK接口,自动三维点云数据快速导入至相关软件中以便于后续的处理、分析、尺寸检测、建模及可视化,提升工作效率与数据应用的灵活性。

在对客户端扫描得到的点云数据进行导入之前,先把程序的大致框架搭建好。

然后使用process_data函数预处理点云数据,其返回值为bool类型,表示处理点云是否成功。想要从客户端中导入点云数据,需要使用一个techlego::h_point_info结构来保存单个点的信息;准备一个保存techlego::h_point_info的数组,可以保存整个点云的信息。

使用get_scan_data_all成员函数,其参数为用于保存点云的数组,即变量all_point。

这个成员函数的原型如下:

voidtechlego::h_scan3d_client::get_scan_data_all (bin::vector_h<h_point_info>& pt_clouds);

使用client变量对其进行调用,存入all_point变量来获取客户端打开工程扫描到的点云数据。

 

h_point_info的结构中有一个成员函数get_point_info用于获取单个点的三维点位信息,这个成员函数的原型如下:

void techlego::h_point_info::get_point_info(bin::vector<double>& pt);
因此我们需要准备一个bin::vector<double>类型的变量:

 

使用get_point_info将信息存入p_point_info变量中

到此为止,我们就拿到了从客户端中导出的单个点云信息,它包含一个直接坐标系坐标的三个分量x, y, z的值,还有这个点的法向量的三个分量的值。

为了能够使用pcl点云库来处理我们的原始数据,这里使用PointNormal类型来保存导出的点云数据,即声明如下类型:

使用resize函数设置即将存入的点的数量

用for循环将点逐一存入cloud变量中

之后我们就可以通过cloud变量来对从客户端导入的点云数据进行一系列的操作了。

整个点云数据从客户端导入到程序的完整过程如下:

综上所述,实现了将点云数据从客户端到专业处理软件的高效导入,这一过程不仅简化了工作流程,还极大增强了点云数据处理的深度与广度,为三维建模、尺寸分析及可视化应用提供了强大的支持平台。

 
 

官网视频号·点击视频·关注我们

 

经典案例

 

多机联动扫描系统助力嫦娥五号构建月表地形

 

喷漆自动化三维视觉全流程

 

混凝土立方试块尺寸三维检测全流程

↙“点击下方”查看更多精彩内容

  • 上一篇:无需动手,来高科技扫描软件自动采集功能让扫描变得更简单
  • 下一篇:如何通过SDK获取两个坐标系之间的旋转矩阵和平移向量
  • 相关推荐 NEWS More>