首页 > 解决方案 > 使用 matplotlib 或 PIL 将 3d numpy 数组绘制为 3d 图像

问题描述

在查看了各种相关答案后,我无法弄清楚直接的方法。

我有一个 shape 的 3-d numpy 数组(390, 280, 160)。我想将其可视化为图像。最简单的方法是什么?

标签: pythonnumpymatplotlibplotpython-imaging-library

解决方案


这是使用 mayavi 进行体积绘图的最小示例。您可以在此处
找到更多 3d 数据可视化示例

from mayavi import mlab
import numpy as np

s = np.random.rand(20, 20, 20)
volume = mlab.pipeline.volume(mlab.pipeline.scalar_field(s), vmin=0, vmax=0.8)

mlab.draw()
mlab.savefig('output.png')

在此处输入图像描述

来自 mayavi 文档

对于这样的可视化,调整不透明度传递函数对于获得良好的效果至关重要。通常,将下限值和上限值限制在数据的 20 和 80 百分位是很有用的,以便使体积的合理部分透明。


推荐阅读