给定一个vtk图像:vtkSmartPointer<vtkImageData> VTKImage = vtkSmartPointer<vtkImageData>::New();
这是一个包含分割结果作为二进制数据的3D图像(分割的对象= 1,背景= 0),
如何提取分割对象的表面并将其另存为VTKpolyData?
最佳答案
一个最小的工作示例就是这样。
vtkSmartPointer<vtkMarchingCubes> surface =
vtkSmartPointer<vtkMarchingCubes>::New();
#if VTK_MAJOR_VERSION <= 5
surface->SetInput(volume);
#else
surface->SetInputData(volume);
#endif
surface->SetValue(0, 0.5);
surface->Update();
vtkSmartPointer<vtkPolyData> poly = vtkSmartPointer<vtkPolyData>::New();
poly = surface->GetOutput();