基于激光点云操作可视化界面

基于激光点云操作可视化界面

使用说明书

第一章 系统概述

基于激光点云操作可视化界面是进行点云文件综合处理的GUI界面,包括计算点云文件中心点、点云文件体素化、点云文件的三维重建和点云文件网格化等模块。主要功能是快速的对点云文件进行读入,展示和处理,通过GUI界面对点云文件进行数据的提取和展示。该GUI界面可以对点云文件的加工和处理的各个环节进行快速计算、统一展示和有效保存,为之后对3D点云文件底层快速处理提供了良好的处理界面。

第二章 功能分析

*第一节 文件读入*

  1. 打开GUI界面,在文件读入框中选择下载好的点云文件,读入文件。

    基于激光点云操作可视化界面_第1张图片

  1. 在文件格式中,可以选择各种点云文件格式并将其转化为.ply文件进行读入。

    基于激光点云操作可视化界面_第2张图片

*第二节 show功能分析*

1.读取点云并将其可视化。基于激光点云操作可视化界面_第3张图片

图1-2 Center Point功能实现

点击Create Point,中心点会出现在点云图中,其坐标会自动出现在Operational information窗口中。

2.获取各个点的法向量。基于激光点云操作可视化界面_第4张图片

图1-3 Normal Estimatio功能实现

点击Normal Estimation,窗口中显示各点的法向量。

3.均匀下采样的实现。

基于激光点云操作可视化界面_第5张图片

点击Voxel down sampling功能,对点云进行下采样以降低点云密度,在减少点的数量的前提下仍可以用剩余的点显示其特征,并以可视化的方式进行结果的查看。

4.更换点云图颜色。

基于激光点云操作可视化界面_第6张图片

通过点击Paint point distance,实现颜色的随机更改。

5.点云距离的实现。基于激光点云操作可视化界面_第7张图片

源点云中的每个点计算到目标点云中最近点的距离。

6.边界卷的实现。基于激光点云操作可视化界面_第8张图片

点击Bounding volumes,裁剪几何体并获得边界体积。Pick Point窗口显示出事物的边界。

7.凸包的实现。

基于激光点云操作可视化界面_第9张图片

点云的凸包是包含所有点的最小凸集。在二维欧几里得空间中,凸包可想象为一条刚好包着所有点的橡皮圈。用不严谨的话来讲,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点。点击Convex hull可以实现此功能。

8.DBSCAN 群集的实现。基于激光点云操作可视化界面_第10张图片

DBSCAN群集是一种基于密度的聚类算法。该算法中需要两个参数:定义与聚类中相邻要素的距离,并定义形成聚类所需的最小点数。点击DBSCAN clustering实现此功能。

9.平面分割的实现基于激光点云操作可视化界面_第11张图片

点击Plane segmentation可以找到点云中支撑力最大的平面。Pick Points窗口可显示结果,Operational information窗口可以显示此方程。

10.隐藏点去除的功能实现。

基于激光点云操作可视化界面_第12张图片

若背景中的点没有被其他点遮挡所以泄漏到前景中,此时我们可以应用隐藏点去除算法。点击Hidden Point removal可以实现此功能,只显示前景的点集。

11.关键点检测模块的实现基于激光点云操作可视化界面_第13张图片

通过点击Intrinsicshape signatures或Intrinsic shape signatures2,可以计算出关键点及特征点提取。

*第三节 Mesh功能分析*

1.可视化3D网格(Visualize a 3D mesh)

**基于激光点云操作可视化界面_第14张图片

点击mesh菜单,在mesh菜单目录下选择Visualize a 3D mesh菜单项,在下面显示框中原3D点云的基础上显示网格图像。

\2. 表面法向估计(Surface normal estimation)基于激光点云操作可视化界面_第15张图片

点击mesh菜单,在mesh菜单目录下选择Surface normal estimation菜单项。

在下面显示框中显示使用曲面法线计算绘制的网格图像。

3.裁剪网格(Crop mesh)基于激光点云操作可视化界面_第16张图片

点击mesh菜单,在mesh菜单目录下选择Crop mesh菜单项。

在下面显示框中显示出网格裁剪过后的图像。

4.网格上色(Paint mesh)基于激光点云操作可视化界面_第17张图片

点击mesh菜单,在mesh菜单目录下选择Paint mesh菜单项。

在下面显示框中显示给网格随机上色的图像。

5.网格属性(Mesh properties)基于激光点云操作可视化界面_第18张图片

点击mesh菜单,在mesh菜单目录下选择Mesh properties菜单项。

在代码输出栏中显示网格图像的属性。

6.网格过滤

均值滤波(Average filter)基于激光点云操作可视化界面_第19张图片

点击mesh菜单,在mesh菜单目录下选择Mesh filtering菜单项。

在下面显示框中显示使用平均过滤器对网格进行降噪后的网格图像。

在右方输出栏中显示滤波迭代次数。

拉普拉斯滤波(Laplacian)基于激光点云操作可视化界面_第20张图片

点击mesh菜单,在mesh菜单目录下选择Laplacian菜单项。

在下面显示框中显示使用拉普拉斯过滤器对网格进行降噪后的网格图像。

在右方输出栏中显示滤波迭代次数。

陶氏滤波(Taubin filter)基于激光点云操作可视化界面_第21张图片

点击mesh菜单,在mesh菜单目录下选择Taubin filter菜单项。

在下面显示框中显示使用陶氏过滤器对网格进行降噪后的网格图像。

在右方输出栏中显示滤波迭代次数。

7.采样(Sampling)基于激光点云操作可视化界面_第22张图片

点击mesh菜单,在mesh菜单目录下选择Sampling菜单项

在下面显示框中显示被采样的点(灰色点)。

在右方输出栏中显示抽样点个数。

8.网格细分(Mesh_subdivision)基于激光点云操作可视化界面_第23张图片

点击mesh菜单,在mesh菜单目录下选择Mesh_subdivision菜单项

在下面显示框中细分后的网格图像。

在右方输出栏中显示顶点个数和三角形个数。

9.网格简化

顶点聚类(Vertex clustering)基于激光点云操作可视化界面_第24张图片

点击mesh菜单,在mesh菜单目录下选择Vertex clustering菜单项

在下面显示框中显示使用顶点聚类方法简化后的网格图像。

10.网格抽取(Mesh decimation)基于激光点云操作可视化界面_第25张图片

点击mesh菜单,在mesh菜单目录下选择Mesh decimation菜单项

在下面显示框中使用网格抽取简化后的网格图像。

11.连接组件(Connected components)基于激光点云操作可视化界面_第26张图片

点击mesh菜单,在mesh菜单目录下选择Connected components菜单项

在下面显示框中显示使用连接组件降噪后的网格图像。

*第四节 Tree功能分析*

1.KDTree

点击菜单Tree,在菜单目录中选择KDTree菜单项,使用search_radius_vector_3d方法查询搭配锚点的距离小于给定半径的所有点,用绿色将这些点涂成绿色,展示效果如图基于激光点云操作可视化界面_第27张图片

2.八叉树(OCTree)

点击菜单Tree,在菜单目录中选择OCTree菜单项,

使用convert_from_point_cloud和max_depth方法构建八叉树,相应的叶节点采用最后插入点的颜色,展示效果如图:基于激光点云操作可视化界面_第28张图片

3.遍历(Traversal)

点击菜单Tree,在菜单目录中选择Traversal菜单项,

使用traverse方法用于遍历八叉树,对于搜索或处理3D几何体的子部分非常有用,展示效果如图:基于激光点云操作可视化界面_第29张图片

4.查找包含叶节点(Find leaf node containing point)

点击菜单Tree,在菜单目录中选择Find leaf node containing point菜单项,

使用locate_leaf_node方法快速搜索出八叉树中包含给定点的叶节点,输出结果如图所示基于激光点云操作可视化界面_第30张图片

5.圆柱形邻域搜索(Circle find)

点击菜单Tree,在菜单目录中选择Circle find菜单项,

通过使用numpy生成点云,KDtree搜索,半径搜索,将给定查询点并渲染为红色,半径搜索结果渲染为红色,效果展示如图基于激光点云操作可视化界面_第31张图片

6.密度(desity)

点击菜单Tree,在菜单目录中选择desity菜单项,

采用基于距离的平均距离密度表示法计算点云各点的距离平均值来估算点云分布 疏密程度,p是一点,N是点数,dis(p,q)表示点p与其他任意点q之间的距离, dp表示点p与其他点的最小距离,(此方法采用树结构)基于激光点云操作可视化界面_第32张图片

7.密度2(desity2)

点击菜单Tree,在菜单目录中选择desity2菜单项,

采用基于距离的平均距离密度表示法计算点云各点的距离平均值来估算点云分布疏密程度,p是一点,N是点数,dis(p,q)表示点p与其他任意点q之间的距离,dp表示点p与其他点的最小距离,(此方法未采用树结构)基于激光点云操作可视化界面_第33张图片

8.去除重叠(Remove overlap)

点击菜单Tree,在菜单目录中选择Remove overlap菜单项,

若某一点在某一距离阈值邻域内不止其本身一个点,则认为其有重复点,去除重复点的展示结果如图基于激光点云操作可视化界面_第34张图片

9.邻距离(Neighbor distance)

点击菜单Tree,在菜单目录中选择Neighbor distance菜单项,

使用compute_nearest_neighbor_distance函数实现计算每个点到其最近邻点欧式距离,根据欧拉距离进行颜色渲染,展示结果如图基于激光点云操作可视化界面_第35张图片

10.马氏距离(Mahalanobis distance)

点击菜单Tree,在菜单目录中选择Mahalanobis distance菜单项,使用compute_计算每个点到最近邻点的马氏距离,根据马氏距离进行颜色渲染会展示.基于激光点云操作可视化界面_第36张图片

*第五节 体素化(Voxelization)*

体素化(Voxelization)是将物体的几何形式表示转换成最接近该物体的体素表示形式,产生体数据,包含模型的表面信息和内部属性。表示3D模型的体素跟表示2D图像的像素相似,只不过从二维的点扩展到三维的立方体单元。体素化能够对模型进行简化,得到均匀一致的网格,在求模型的切片,物理仿真分析过程中有较好的应用。

点击Voxelization,展示总功能模块选择,如下图基于激光点云操作可视化界面_第37张图片

1.从三角形网格(From triangle mesh)

从三角形网格创建体素网格的方法返回一个体素网格。

点击From triangle mesh,返回一个体素网格。基于激光点云操作可视化界面_第38张图片

2.从点云(From point cloud)

体素网格也可以使用方法从点云创建。如果点云的至少一个点位于体素内,则占用体素。体素的颜色是体素内所有点的平均值。

点击From point cloud,得到新的点云图。基于激光点云操作可视化界面_第39张图片

3.体素表面化(voxel surface)

点击voxel surface,得到几何体渲染深度图。基于激光点云操作可视化界面_第40张图片

4.体素雕刻(voxel carving)

点击voxel surface,使用深度图来雕刻密集的体素网格。基于激光点云操作可视化界面_第41张图片

5.立体像素网格(voxel grid)

点击voxel grid,给定形状的填充体素网格。基于激光点云操作可视化界面_第42张图片

*第六节 三维重建*

1.通过菜单选项Reconstruction,对读取的点云文件进行三维重建。基于激光点云操作可视化界面_第43张图片

2.选择Alpha shapes选项进行a-shape的曲面重构。基于激光点云操作可视化界面_第44张图片

右边显示是Alpha shapes的参数控制形状,值越大越接近一个凸包。

3.选择Ball pivoting和Ball pivoting2选项进行球旋转算法的两个方面进行运算。基于激光点云操作可视化界面_第45张图片

右边显示是Ball pivoting的参数列表控制形状。基于激光点云操作可视化界面_第46张图片

右边显示是Ball pivoting的参数用于创建球表面的半径。

4选择poisson surface reconstruction和poisson surface reconstruction2选项进行poisson曲面重构。基于激光点云操作可视化界面_第47张图片基于激光点云操作可视化界面_第48张图片

5.选择Normal estimation选项进行点云法线的拟合导出。基于激光点云操作可视化界面_第49张图片

6.选择Surface curvature选项通过对表面曲率的计算获知点云图像的起伏程度。基于激光点云操作可视化界面_第50张图片

*第七节 Transformation功能分析*

1.实现在x轴上的移动。基于激光点云操作可视化界面_第51张图片

图中可看出模型在x轴方向向右平移一次,Operational information窗口显示平移后中心点位置。

2.实现在y轴上的移动。

图中可看出模型在y轴方向向右平移一次,Operational information窗口显示平移后中心点位置。

3.实现在z轴上的移动。基于激光点云操作可视化界面_第52张图片

图中可看出模型在y轴方向向右平移一次,Operational information窗口显示平移后中心点位置。

4.角度转换的实现基于激光点云操作可视化界面_第53张图片

点击Rotation功能,可以看到模型底部的模样。

5.规模的实现。基于激光点云操作可视化界面_第54张图片

通过点击Scale,可以实现点对点的缩放。

6.一般转换的实现。基于激光点云操作可视化界面_第55张图片

通过点击General Transformation功能,可以实现由齐次变换矩阵定义的常规变换。

7.实现x轴上的切割。基于激光点云操作可视化界面_第56张图片

点击X through,可以看出沿x轴切割后模型的改变。

8.实现y轴上的切割。基于激光点云操作可视化界面_第57张图片

点击X through,可以看出沿x轴切割后模型的改变。

9.实现z轴上的切割。基于激光点云操作可视化界面_第58张图片

点击X through,可以看出沿x轴切割后模型的改变。

*第八节 点云分割拟合(split)*

点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分区域内的点云拥有相似的特征 。点击split弹出总模块功能如下图所示。基于激光点云操作可视化界面_第59张图片

1.随机抽样一致性算法(Ransac)

随机抽样一致性算法RANSAC(Random sample consensus)是一种迭代的方法来从一系列包含有离异值的数据中计算数学模型参数的方法。点击Ransac得到点云拟合平面方程。基于激光点云操作可视化界面_第60张图片

2.Ransac拟合分割多个平面(Mul ransac)

点击Mul ransac 通过Ransac算法进行拟合分割为多个平面。基于激光点云操作可视化界面_第61张图片

3.Ransac拟合分割多个平面二(Mul tansac2)

点击Mul tansac2,使用第二种算法拟合分割成多个平面。基于激光点云操作可视化界面_第62张图片

4.Ransac拟合空间直线(Ransac line)

点击Ransac line使用Ransac拟合空间直线算法分割点集。基于激光点云操作可视化界面_第63张图片

5.Kmeans点云聚类(Kmeans)

点击Kmeans,通过k均值聚类算法生成点云聚类。基于激光点云操作可视化界面_第64张图片

6.点云欧式聚类(Euclidean_cluster)

点击Euclidean_cluster通过点云欧式聚类算法得到聚类值为0,所以图像为空。基于激光点云操作可视化界面_第65张图片

7.点云快速欧式聚类(Quick_euclidean_cluster)

点击Quick_euclidean_cluster,通过点云快速欧式聚类算法得到聚类为0,故而图像展示为空。基于激光点云操作可视化界面_第66张图片

8.区域生长分割(region growing)

点击region growing,通过区域生长分割得到全新的点云。基于激光点云操作可视化界面_第67张图片

9.最小二乘拟合平面(Pca)

PCA是一种数学变换的方法,利用降维的思想在变换中保持变量的总方差不变,将给定的一组变量线性变换为另一组不相关的变量,并且使变换后的第一变量的方差最大,即第一主成分,其他分量的方差依次递减。点击Pca,得到拟合平面方程。基于激光点云操作可视化界面_第68张图片

10.svd分解法(Svd)

点击Svd,通过Svd分解法把点云在空间平面直角坐标系表示。基于激光点云操作可视化界面_第69张图片

你可能感兴趣的:(python,3d,创业创新)