Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python VTK将窗口图像渲染到numpy阵列_Python_Numpy_Vtk - Fatal编程技术网

Python VTK将窗口图像渲染到numpy阵列

Python VTK将窗口图像渲染到numpy阵列,python,numpy,vtk,Python,Numpy,Vtk,在VTK中,我可以使用以下代码片段将渲染窗口保存为图像。但是,实际上我想直接将其作为numpy数组(不需要先写后读)获取 最好的方法是什么?我认为没有必要涉及vtkXWriter(其中X是某种格式),除非您需要X格式的数据。定义要将其内容导出为图像的窗口后,可以继续获取VTK图像并使用该图像 from vtk.util.numpy_support import vtk_to_numpy ... vtk_rw = vtk.vtkRenderWindow() ... vtk_win_im =

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


最好的方法是什么?

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

...

检查
vtk.util.numpy\u支持
@mmgp-谢谢,但我还没有找到如何从渲染窗口获得可用的内容,我可以将这些内容传递到
vtk\u\u numpy
:(
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)

...