使用Meshlab对比两个网格的差别,基于豪斯多夫距离(Hausdorff distance)

最近论文需要对比两个网格mesh,看到论文多用豪斯多夫距离,不太会用。于是找到了Meshlab可以实现,记录一下:

步骤:

1)输入两个对齐以后的需要对比的网格

2)过滤器-Hausdorff distance

使用Meshlab对比两个网格的差别,基于豪斯多夫距离(Hausdorff distance)_第1张图片

3)Target mesh 输入参考网格 Sample mesh 输入需要对比的网格

4)由于工业上实现时,采取了采样点的方式来进行比较。下面倒数的4个选项,意思就是选择如何采样点,最简单的就是只勾选sample vertexes,也就是直接从三角网的顶点作为采样点。第一个选项是保存采样的网格点

5)number of samples 采样点的数量

6)MAX Distance 这个选项很有用,意思就是只输出 豪斯多夫距离小于这个最大距离的点。论文中,人们多对网格的豪斯多夫距离进行分类,如分为0-2,2-4,4-6,6-8,8-10等等,可以利用这个max distance 实现,首先在max distance 输入 0.2(单位cm),点击apply(勾选 save samples),会生成两个符合条件的点集,一个是从target mesh 采样的点集,一个是从sampled 采样的点集。此时,使用从sample采样的点集数量除以sample原本的点集数量,就可以近似得到这个网格在0.2cm以内的豪斯多夫距离的比例了。

目前我掌握的就这么多,如果大家有更好的方法,欢迎留言交流哦

你可能感兴趣的:(使用Meshlab对比两个网格的差别,基于豪斯多夫距离(Hausdorff distance))