快速提取目标(分割),利用平滑、采样、阈值、形态运算、连通性技术获得,进而显示其表面轮廓和实体 package require vtk package require vtkinteraction vtkRenderer ren1 vtkRenderWindow renWin renWin AddRenderer ren1 vtkRenderWindowInteractor iren iren SetRenderWindow renWin vtkDataSetReader reader reader SetFileName "jizhu.vtk" set shrinkFactor 4 vtkImageShrink3D shrink shrink SetShrinkFactors $shrinkFactor $shrinkFactor 1 shrink SetInputConnection [reader GetOutputPort] shrink AveragingOn shrink Update vtkImageData vdata vdata DeepCopy [shrink GetOutput] vtkImageData SetScalarTypeToSignedChar puts [vdata GetDimensions] puts [vdata GetOrigin] puts [vdata GetSpacing] ##################################################### vtkImageThreshold thresh3d thresh3d SetInput vdata thresh3d ThresholdBetween 150 255 thresh3d SetOutValue 0 thresh3d SetInValue 255 thresh3d ReplaceOutOn thresh3d ReplaceInOn thresh3d SetOutputScalarTypeToUnsignedChar thresh3d Update vtkImageContinuousDilate3D dier3d dier3d SetInput [thresh3d GetOutput] dier3d SetKernelSize 8 8 8 dier3d Update vtkImageContinuousErode3D cer3d cer3d SetInput [dier3d GetOutput] cer3d SetKernelSize 8 8 8 cer3d Update vtkImageSeedConnectivity connect connect SetInputConnection [cer3d GetOutputPort] connect SetInputConnectValue 255 connect SetOutputConnectedValue 255 connect SetOutputUnconnectedValue 0 connect AddSeed 12 12 2 # [lindex $extent 0] [lindex $extent 2] [lindex $extent 2] connect Update vtkStructuredPointsWriter wth wth SetFileName "wth.vtk" wth SetInput [connect GetOutput] wth SetFileTypeToBinary wth Write vtkMarchingCubes mc mc SetInput [connect GetOutput] mc SetValue 0 255 mc ComputeGradientsOn mc ComputeScalarsOff ################################################3 vtkDataSetMapper imagemapper imagemapper SetInput [mc GetOutput] imagemapper ScalarVisibilityOn vtkActor imageactor imageactor SetMapper imagemapper imageactor AddPosition 0 2 0 [imageactor GetProperty] BackfaceCullingOn ##############################################33 ren1 SetBackground .1 .2 .4 ren1 AddActor imageactor; [imageactor GetProperty] SetDiffuseColor 0.5 1 0 #[ren1 GetActiveCamera] Azimuth 30 #[ren1 GetActiveCamera] Elevation 20 #[ren1 GetActiveCamera] Dolly 1.25 #ren1 ResetCameraClippingRange renWin Render renWin SetFullScreen 0 renWin SetSize 500 500 等值面 体绘制结果 MPR