VTK图像遮罩(vtkImageMask)

匿名 (未验证) 提交于 2019-12-03 00:17:01

#!/usr/bin/env python import vtk  reader = vtk.vtkJPEGReader() reader.SetFileName("Pygoscelis adeliae.jpg") reader.Update() extent = reader.GetOutput().GetExtent()    # Create a rectanglular mask maskSource = vtk.vtkImageCanvasSource2D() maskSource.SetScalarTypeToUnsignedChar() maskSource.SetNumberOfScalarComponents(1) maskSource.SetExtent(extent)    # Initialize the mask to black maskSource.SetDrawColor(0,0,0); maskSource.FillBox(extent[0],extent[1],extent[2],extent[3])  # Anything non-zero means "make the output pixel equal the input pixel."  # If the mask is zero, the output pixel is set to MaskedValue maskSource.SetDrawColor(255,255,255) maskSource.FillBox(100,200,100,200) maskSource.Update()    mask = vtk.vtkImageMask() mask.SetImageInputData(reader.GetOutput()) mask.SetMaskInputData(maskSource.GetOutput()) # mask.SetMaskedOutputValue(100,128,200) mask.NotMaskOn() mask.Update()    imageActor = vtk.vtkImageActor() imageActor.GetMapper().SetInputConnection(mask.GetOutputPort()) render = vtk.vtkRenderer() render.AddActor(imageActor) render.SetBackground(.4, .5, .6) renderWindow = vtk.vtkRenderWindow() renderWindow.SetSize(600, 400) renderWindow.AddRenderer(render) renderWindow.Render() renderWindowInteractor = vtk.vtkRenderWindowInteractor() style = vtk.vtkInteractorStyleImage() renderWindowInteractor.SetInteractorStyle(style) renderWindowInteractor.SetRenderWindow(renderWindow) renderWindowInteractor.Initialize() renderWindowInteractor.Start() 

  

参考:

vtkImageMask Class Reference

VTK/Examples/Cxx/Images/ImageMask

Testing/Python/TestMask2.py

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!