将Numpy转换为PIL图像后的图像失真

问题描述 投票:1回答:1

我想将一些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数组。然后发生了一些困惑。有些图像看起来不错,但有些图像有所不同。

enter image description here enter image description here

第一个是失真,第二个是正常。

python numpy matplotlib python-imaging-library
1个回答
0
投票

阅读@Mark Setchell评论后编辑:由于PNG不会扭曲值,我猜他们使用JPG压缩。如果你想要你的图像,试试这个:

import cv2 

cv2.imwrite("img.png", img)

Here是文档。

© www.soinside.com 2019 - 2024. All rights reserved.