【发布时间】:2018-12-04 02:40:09
【问题描述】:
我想将一些 Numpy 转换为 Image,所以我在 PIL 中使用了 Image
from PIL import Image
im1 = Image.fromarray(np.uint8(X1)) # X1 dtype uint8, scale 0~255 image
im1.save("img.png")
im2= Image.fromarray(np.uint8(X2*255)) #X2 dtype uint16, sacke 0~1 mask ,so X2*255
im2.save("mask.png")
X1, X2 是 numpy 数组。 然后发生了一些令人困惑的事情。有些图像看起来不错,但有些图像失真。
第一个是失真,第二个是正常。
【问题讨论】:
-
这两个都是图片,而且蒙版很好看,所以我就不显示了。
-
im1出现失真,二值掩码的im2看起来正常。
-
如果您提供minimal, complete and verifiable example 来重现问题,那么有人会更容易帮助您。例如,我们没有
X1。如果X1是np.arange(256).reshape(16, 16).astype(np.uint8),你看到问题了吗? -
您可以尝试numpngw,这是我为将 numpy 数组写入 PNG 文件而编写的一个包。它没有其他依赖项。
-
尝试打印
np.amax(X1)和np.amin(X1)和X2。
标签: python numpy matplotlib python-imaging-library