Meshlab是一个强大的三维模型处理的软件,在三维点云的处理方面也十分强大,不仅仅可以用三维点云重构出三维模型,还可以计算出三维点云每个点的法向量,这在逆向工程和基于三维点云的隐式曲面重建中非常有用。
我的Meshlab的版本是3.3,可以在网上自行下载。
1.Meshlab读取三维点云
第一步:打开Meshlab软件
第二步:点击File菜单下的ImportMesh导入txt文档,需要选择你的txt文档中XYZ坐标之间的分隔符,导入成功后会显示你的三维点云数据
2.三维点云重建
点击下图图标,弹出右侧图层侧边栏
然后点击Fiter菜单下Normals,Curtavures and Oreientation下的Smooths normals on a point set计算三维点云的法向量,如下图
然后设置计算点云法向量的参数,默认就好,如有需要可以自行设置,点击Apply等计算完成然后点击Close关闭对话框
计算完点击法向量之后,点击Filter菜单下Remeshing Simplication and Reconstruction下的Surface Reconstruction:Ball Pivoting进行三维点云重建
然后设置三维点云重建参数,默认就好,也可以自行设置,点击Apply等重建完成,点击close关闭对话框
然后点击下列图标显示重建的三维模型,也可以设置光照等其他参数
以下为三维重建结果
3.法向量的导出与计算
三维点云的法向量的导出与计算有两种方式,一种是在上一节三维重建中我们已经得到了重建后的三维模型,那么每个点都带有法向量,可以直接导出即可,还有一种就是从杂乱的三维点中计算每一个三维点的法向量
3.1从三维模型中导出三维点云中每个点的法向量
接着第二节的步骤,点击File菜单下Export Mesh as
然后在接下来的对话框中选择xyz格式
然后在 接下来的对话框中勾选Normal就可以生成文本格式的三维点以及三维点法向量
以下为文本格式的三维点坐标以及三维点法向量的结果
3.2 直接从三维散乱点云中生成三维点的法向量
然后点击Filter菜单下Normals,Curtavures and Oreientation下的Compute normals for point set计算三维点云的法向量,如下图
在弹出来的对话框可以自行设置参数,先Apply然后再Close
法向量的导出与3.1中的一样,可以自行参考。
以下为三维点云以及点云的法向量的可视化结果,点云表示为红色的点,法向量表示为绿色的线段