文章目录
- 深度平滑
- 拉普拉斯平滑
- Taubin 平滑
- 其他改进的拉普拉斯平滑
Meshlab界面认识 创建几何对象
Meshlab在Filters->Smoothing, Fairing and deformation中,提供了许多滤波工具,其中与平滑滤波相关的列表如下,本节中所有用到的工具均来自这个菜单。
Depth Smooth | 深度平滑 |
Laplacian Smooth | 拉普拉斯平滑 |
HC Laplacian Smooth | HC拉普拉斯平滑 |
Laplacian Smooth (surface preserving) | 表面保护的拉普拉斯平滑 |
ScaleDependent Laplacian Smooth | 尺度独立拉普拉斯平滑 |
Taubin Smooth | Taubin 平滑 |
深度平滑
为了演示滤波效果,新建一个分形地形:Filters->Create New Mesh Layer->Fractal Terrian,为了让起伏大一点,将最大高度设为0.8。然后在右上角的图层窗口,选中图层,右键->Duplicate Current Mesh,进行复制。
选中复制后的图层,点击平滑工具中的Depth Smoothing,弹出设置窗口。
- Smooth Steps 平滑步长
- Viewpoint 视角,点击Get,可获取当前视角
- Strength 滤波强度,最大为2
- Affect only selection 仅考虑已选中的区域
其中,视角是深度滤波的关键参数,表示深度的方向。比如 0 , 0 , 1 0,0,1 0,0,1表示从上向下看,那么对于测绘地形来说,就是对高程进行平滑。
拉普拉斯平滑
拉普拉斯平滑是最基础的平滑滤波算法,原理是将当前点和与之相近的点取平均,这种滤波的缺点是,容易导致图形向内缩。
为了演示滤波效果,新建一个环面Torus,然后执行拉普拉斯平滑,效果如下
Taubin 平滑
Taubin平滑是1995年提出的一种点云滤波算法,可以克服拉普拉斯平滑出现的内缩现象。其基本原理是,用一个负收缩因子 μ \mu μ将拉普拉斯平滑照成的收缩再放大回去。其算法的主体由两个过程组成,一个过程采用正因子 λ ∈ ( 0 , 1 ) \lambda\in(0,1) λ∈(0,1),另一个过程采用负因子 μ ∈ ( − 1 , 0 ) \mu\in(-1,0) μ∈(−1,0)。
其他改进的拉普拉斯平滑
HCLaplacian算法试图将拉普拉斯算法对顶点的移动以某种程度再移动回去,移动的具体原则需要参考顶点原先的位置。MeshLab中的HCLaplacian算法没有参数,点击菜单命令之后直接滤波,初次使用需要稍加注意。
此外,Laplacian Smooth(surface preserving)和ScaleDependent Laplacian Smooth也是对拉普拉斯平滑的一种改进。