定位两个对象以面向同一方向(计算机可视化)

时间:2018-02-06 06:22:03

标签: c++ computer-vision vtk

我有两个扫描头骨的STL模型相似但不一样。当它们作为vtkRenderer中的演员并排渲染时,它们面向不同的方向,并且一个旋转了180度。

通常情况下,我只是硬编码转换,以便它们都面向屏幕,但在这种情况下,会有很多相似但不同的头骨上传,所有这些都可能面向不同的方向。

那么,任何人都可以建议以VTK特定的方式以编程方式定位头骨,使他们都面向同一个方向吗?如果不是以特定于VTK的方式,那么在计算机可视化软件中是否存在普遍接受的方法呢?

1 个答案:

答案 0 :(得分:1)

如果您知道每个头骨的旋转角度,我建议使用该知识(例如:为每个模型准备具有旋转角度的文件)并在加载时旋转它们。

如果没有,那么你有一个真正的问题。如果假设这些头骨非常相似,那么我可以建议尝试将这些头骨相互对齐,因此结果它们将面向相同的方向。

您可以通过GeomagicCloudCompareMeshLab等专用软件实现这一目标,您也可以编写自己的算法(例如:Least Squares Matching)。您还可以尝试使用已实现对齐算法的库,如PCL

手动方法:您可以使用3点对齐方法来实现这一点。这比通过旋转和翻译尝试这样做更快。 (How it works