python - 使用 matplotlib 或 PIL 将 3d numpy 数组绘制为 3d 图像
问题描述
在查看了各种相关答案后,我无法弄清楚直接的方法。
我有一个 shape 的 3-d numpy 数组(390, 280, 160)
。我想将其可视化为图像。最简单的方法是什么?
解决方案
这是使用 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 百分位是很有用的,以便使体积的合理部分透明。
推荐阅读
- python - 在 Tensorflow 中的两个张量之间交换元素
- r - 无法在 R 中安装软件包
- regex - 如何区分正则表达式的第 m 个捕获组的第 n 个匹配模式与 bash 中早期或以后的匹配?
- rabbitmq - 将 Celery 结果发送到 RabbitMQ 上的不同交易所
- google-chrome - 私有 CA 修复:NET::ERR_CERT_COMMON_NAME_INVALID
- python - 刽子手 | 使用名字和姓氏作为“单词”的问题
- javascript - 从 JSON 对象访问数据
- excel - Excel VBE 中的错误?
- php - 我的 mysqli 语句没有存储任何数据
- javascript - 对值 n 求和