使用 VTK 渲染的 3D 模型的 2D 边界框

kri*_*s89 5 rendering bounding-box vtk

我试图使用 VTK 找到 3D 模型渲染图像的 2D 绑定框。有什么可以自动为我找到的吗?最后我想要这样的东西(但使用飞机 3D 模型的渲染图像而不是真实的图像): http ://host.robots.ox.ac.uk/pascal/VOC/voc2007/examples/飞机_03.jpg

如果没有,我将不得不逐像素地选取点并自己找到极值点。只是想知道是否有什么东西可以自动为我做这件事。

Ian*_*Ian 2

这实际上取决于您拥有的数据类型。因为vtkPolyData您只需调用PolyDataObject.GetBounds()即可获得对象的极值点格式-x, x, -y, y, -z, z

还有一个功能vtkBoundingBox似乎可以满足您的要求。

最后你应该能够用类似的方法来解决这个问题BoundingBox.SetBounds(Object.GetBounds())

编辑:正如另一个线程中所述,如果您没有vtkPolyData通常可以调用的对象someObject.GetOutput().GetBounds()