Python 从 vtkRenderWindow 中通过GetRGBACharPixelData取图像转换成 Numpy
一般来说,从vtkRenderWindow中可以通过 vtkWindowToImageFilter 保存图像。
但是,同时,也可以通过GetRGBACharPixelData这个方法 取出图像,变成Numpy 类型。
代码实例如下:
""" 从vtkRenderWindow中取出 RGBA CharPixelData """
import time
begin_time = time.time()
size = self.ren_win.GetSize()
pixel_data = vtk.vtkUnsignedCharArray()
self.ren_win.GetRGBACharPixelData(0, 0, size[0]-1, size[1]-1, 0, pixel_data)
np_pixel_data = vtk_to_numpy(pixel_data)[:, :3]
print(r'cost time {:.3f} 秒'.format(time.time()-begin_time))
print(np_pixel_data.shape)
释放这个资源:
self.ren_win.ReleaseRGBAPixelData(pixel_data)