返回常见问题
数据交互
2026-05-18
1 分钟阅读
VTK 与 NumPy 数据互转完整指南
使用 vtk.util.numpy_support 在 vtkDataArray 和 numpy.ndarray 之间转换,并避免内存生命周期问题。
问题描述
VTK 和 NumPy 的数据结构不同,但 Python 项目中经常需要在两者之间转换。
NumPy 转 VTK
import numpy as np
from vtk.util import numpy_support
arr = np.array([1, 2, 3], dtype=np.float32)
vtk_arr = numpy_support.numpy_to_vtk(arr, deep=True)
VTK 转 NumPy
np_arr = numpy_support.vtk_to_numpy(vtk_arr)
注意事项
如果 deep=False,VTK 和 NumPy 可能共享内存。原始数组被释放后,另一侧引用可能变成无效数据。项目里不确定生命周期时优先用 deep=True。
相关内容
反馈
发现内容错误、链接失效或希望补充案例,可以提交反馈。