VTK 中文站
返回常见问题
数据交互 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。

相关内容

反馈

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