初学vtk 求大佬们解答
vtk吧
全部回复
仅看楼主
level 2
七条香蕉 楼主
vtk有办法把structure的轮廓数据转化成三维模型吗?
2018年11月14日 12点11分 1
level 2
七条香蕉 楼主
或者说有办法通过点数据生成三维模型么?点数据如下图
2018年11月14日 12点11分 2
level 2
七条香蕉 楼主
模型建立出来了 但是表面有许多凸起 要怎么优化啊
2018年11月16日 11点11分 3
@rabbitbride 吧主大大 求帮助
2018年11月16日 11点11分
level 2
七条香蕉 楼主
import vtk
import json
ren = vtk.vtkRenderer() # 设置绘制者(绘制对象指针)
renWin = vtk.vtkRenderWindow() # 设置绘制窗口
iren = vtk.vtkRenderWindowInteractor() # 设置绘制交互操作窗口的
m_Points = vtk.vtkPoints()
file = open('./output/Lung R_not for clinic.json', "rb")
fileJson = json.load(file)
for item in fileJson:
m_Points.InsertNextPoint(item[0], item[1], item[2])
points = vtk.vtkPolyData()
points.SetPoints(m_Points)
vertexGlyphFilter = vtk.vtkVertexGlyphFilter()
vertexGlyphFilter.AddInputData(points)
vertexGlyphFilter.Update()
pointMapper = vtk.vtkPolyDataMapper()
pointMapper.SetInputData(vertexGlyphFilter.GetOutput())
pointMapper.ScalarVisibilityOff()
pointActor = vtk.vtkActor()
pointActor.SetMapper(pointMapper)
pointActor.GetProperty().SetColor(1, 0, 0)
pointActor.GetProperty().SetPointSize(4)
surf = vtk.vtkSurfaceReconstructionFilter()
surf.SetInputData(points)
# surf.SetNeighborhoodSize(100)
# surf.SetSampleSpacing(0.05)
contour = vtk.vtkContourFilter()
contour.SetInputConnection(surf.GetOutputPort())
contour.SetValue(0, 0.0)
contour.Update()
Mapper = vtk.vtkPolyDataMapper()
Mapper.SetInputData(contour.GetOutput())
actor = vtk.vtkActor()
actor.SetMapper(Mapper)
pointRender = vtk.vtkRenderer()
pointRender.AddActor(pointActor)
pointRender.SetViewport(0, 0, 0.5, 1)
pointRender.SetBackground(1, 1, 1)
pointRender.ResetCamera()
ren.AddActor(actor)
ren.SetViewport(0.5, 0, 1, 1)
ren.SetActiveCamera(pointRender.GetActiveCamera())
renWin.AddRenderer(ren)
renWin.AddRenderer(pointRender)
renWin.SetSize(640, 320)
renWin.Render()
iren.SetRenderWindow(renWin)
iren.Initialize()
iren.Start()
2018年11月16日 11点11分 4
level 2
七条香蕉 楼主
@rabbitbride 吧主 可以指点一下么[呵呵]
2018年11月16日 11点11分 5
1