[英]VTK render window image to numpy array
在VTK中,我可以使用以下代碼段將渲染窗口保存為圖像。 但是,實際上我想直接將它作為一個numpy數組(沒有寫然后閱讀)。
im = vtkWindowToImageFilter()
writer = vtkPNGWriter()
im.SetInput(renderWindow)
im.Update()
writer.SetInputConnection(im.GetOutputPort())
writer.SetFileName("file.png")
writer.Write()
做這個的最好方式是什么?
我相信沒有必要涉及vtkXWriter
(其中X
是某種格式),除非你需要X
格式的數據。 定義要將其內容導出為圖像的窗口后,可以繼續獲取VTK圖像並使用該圖像。
from vtk.util.numpy_support import vtk_to_numpy
...
vtk_rw = vtk.vtkRenderWindow()
...
vtk_win_im = vtk.vtkWindowToImageFilter()
vtk_win_im.SetInput(vtk_rw)
vtk_win_im.Update()
vtk_image = vtk_win_im.GetOutput()
width, height, _ = vtk_image.GetDimensions()
vtk_array = vtk_image.GetPointData().GetScalars()
components = vtk_array.GetNumberOfComponents()
arr = vtk_to_numpy(vtk_array).reshape(height, width, components)
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.