Meshlab是一个强大的三维模型处理的软件,在三维点云的处理方面也十分强大,不仅仅可以用三维点云重构出三维模型,还可以计算出三维点云每个点的法向量,这在****和基于三维点云的隐式曲面重建中非常有用。

   我的Meshlab的版本是3.3,可以在网上自行下载**版。

1.Meshlab读取三维点云

第一步:打开Meshlab软件

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


第二步:点击File菜单下的ImportMesh导入txt文档,需要选择你的txt文档中XYZ坐标之间的分隔符,导入成功后会显示你的三维点云数据

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


2.三维点云重建

点击下图图标,弹出右侧图层侧边栏

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


然后点击Fiter菜单下Normals,Curtavures and Oreientation下的Smooths normals on a point set计算三维点云的法向量,如下图

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


然后设置计算点云法向量的参数,默认就好,如有需要可以自行设置,点击Apply等计算完成然后点击Close关闭对话框

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


计算完点击法向量之后,点击Filter菜单下Remeshing Simplication and Reconstruction下的Surface Reconstruction:Ball Pivoting进行三维点云重建

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


然后设置三维点云重建参数,默认就好,也可以自行设置,点击Apply等重建完成,点击close关闭对话框

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


然后点击下列图标显示重建的三维模型,也可以设置光照等其他参数

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


以下为三维重建结果

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算



3.法向量的导出与计算

三维点云的法向量的导出与计算有两种方式,一种是在上一节三维重建中我们已经得到了重建后的三维模型,那么每个点都带有法向量,可以直接导出即可,还有一种就是从杂乱的三维点中计算每一个三维点的法向量

3.1从三维模型中导出三维点云中每个点的法向量

接着第二节的步骤,点击File菜单下Export Mesh as 

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


然后在接下来的对话框中选择xyz格式

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


然后在 接下来的对话框中勾选Normal就可以生成文本格式的三维点以及三维点法向量

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


以下为文本格式的三维点坐标以及三维点法向量的结果

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


3.2 直接从三维散乱点云中生成三维点的法向量

然后点击Filter菜单下Normals,Curtavures and Oreientation下的Compute normals for point set计算三维点云的法向量,如下图

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


在弹出来的对话框可以自行设置参数,先Apply然后再Close

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算


法向量的导出与3.1中的一样,可以自行参考。


以下为三维点云以及点云的法向量的可视化结果,点云表示为红色的点,法向量表示为绿色的线段

Meshlab读取三维点云、三维点云重建以及三维点云法向量计算Meshlab读取三维点云、三维点云重建以及三维点云法向量计算Meshlab读取三维点云、三维点云重建以及三维点云法向量计算

相关文章: