VTK 中文站
返回常见问题
数据交互 2026-05-18 1 分钟阅读

VTK 渲染结果转 NumPy 数组/截图

使用 vtkWindowToImageFilter 获取 RenderWindow 像素,并转换为 NumPy 数组或保存图片。

问题描述

你想把 VTK 渲染窗口中的图像拿到 Python 里,用 NumPy 或 OpenCV 继续处理。

基本做法

from vtk.util import numpy_support

window.Render()
w2i = vtk.vtkWindowToImageFilter()
w2i.SetInput(window)
w2i.Update()

image = w2i.GetOutput()
width, height, _ = image.GetDimensions()
vtk_array = image.GetPointData().GetScalars()
array = numpy_support.vtk_to_numpy(vtk_array).reshape(height, width, -1)

注意

VTK 图像坐标和常见图像库的上下方向可能不同,如果结果倒置,需要做一次垂直翻转。

相关内容

反馈

发现内容错误、链接失效或希望补充案例,可以提交反馈。