簡體   English   中英

VTK將窗口圖像渲染為numpy數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM