【发布时间】:2021-11-22 08:07:12
【问题描述】:
我的脚本需要 3 个相同大小的 numpy 数组,使用 dstack 创建 ndarray 并假设将它们显示为 rgb 图像。但是,RGB 图像的最后一部分似乎正在工作,但我无法显示图像,我得到的只是是空白图像。
这就是我从 3 个数组创建图像的方式:
rgb_result=np.dstack((result[3,:,:],result[2,:,:],result[1,:,:]))
plt.figure(figsize=(10,6))
plt.matshow(rgb_result*5,fignum=1,aspect='auto')
plt.title(d)
plt.show()
结果是空白图像:
每当我绘制构成“rgb_result”的波段之一时,它都会起作用(这三个图像与此非常相似):
我还检查了每个波段和 ndarray 的 dype,它是 float64。
我的问题是如何使 matshow 工作并以 RGB 显示图像。
【问题讨论】:
-
您的
rgb_result的min()和max()是什么?当我尝试使用一些随机数据时,您的代码会生成正确的 rgb 图像,所以我认为我们需要查看导致问题的实际数据样本(我没有投反对票) -
@tdy max() 为 0.0135,min () 为 0.0
标签: python numpy matplotlib imshow