VTK渲染窗口图像到numpy数组

2024-09-29 23:26:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在VTK中,我可以使用以下代码片段将渲染窗口另存为图像。但是,实际上我想直接把它作为numpy数组(不需要写,然后读)。在

im = vtkWindowToImageFilter()
writer = vtkPNGWriter()
im.SetInput(renderWindow)
im.Update()
writer.SetInputConnection(im.GetOutputPort())
writer.SetFileName("file.png")
writer.Write()

最好的办法是什么?在


Tags: 代码图像numpyupdate数组writervtkim
1条回答
网友
1楼 · 发布于 2024-09-29 23:26:19

我相信没有必要涉及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)

...

相关问题 更多 >

    热门问题