Meshlab - 获取所选顶点的ID

时间:2014-03-12 14:19:24

标签: meshlab

我想选择网格的一个区域并获取所选顶点的ID,以便我可以在我的自定义c ++处理管道中使用它们。

例如,如果有一个3d手形网格,可以选择属于每个指尖的顶点。获取这些顶点的ID对于多个应用程序非常有用,例如跟踪,制动等。

Meshlab显然使用了这些顶点的ID,但是这些信息可以暴露给用户吗?网上有很多关于如何选择(以各种方式)网格的某些区域并应用一些处理功能的教程,但我没有找到关于获取有关所选区域的原始信息的内容。

2 个答案:

答案 0 :(得分:1)

我发现的解决方案相当繁琐。

似乎虽然Meshlab明显使用了这些ID,但这些信息并未向用户公开。所以我遵循这个启发式:

  • 使用标准MeshLab工具选择感兴趣的顶点。
  • 反转选择。
  • 删除所有顶点,并获得1点pointcloud / mesh作为结果。
  • 将其导出为.off文件。
  • 打开导出的文件并读取此唯一点的坐标。一个坐标(例如X)就足够了。
  • 在原始.off文件或原始网格/点云结构中搜索,找到具有此坐标的点/顶点。
  • 你有它,你有原始结构中所选顶点的ID。
  • 然后(这是特定于应用程序,根据我的需要),使用PCL,我为我的pointcloud创建了一个Kd-Tree,使用选定的点(红色)作为"查询"得到一些最近的邻居(绿色)。

结果:

enter image description here

答案 1 :(得分:1)

使用"获取信息"按钮并按照左侧的说明按下" t"并选择顶点并按p。to select one vertex