Я пытаюсь сохранить изображение (созданное GAN) в формате numpy.ndarray с формой (row, col, channel)
, имеющей значение с плавающей запятой.Первая стратегия, которую я нашел здесь, это использование PIL
from PIL import Image
img_array = np.reshape(img_array, (row, col))
img_array *= 255
img = Image.fromarray(img_array.astype(np.uint8))
img.save('foo.png')
Но после просмотра результата (как при построении графика с помощью matplotlib, так и при сохранении в виде файла изображения) он создает белые артефакты, такие как этот
![Sample of image in PIL](https://i.stack.imgur.com/hNU1I.png)
По сравнению с построением массива прямо в matplotlib результат будет лучше, но при сохранении создайте поле в файле изображения
![Sample of image from matplotlib](https://i.stack.imgur.com/p3eIx.png)
Как сохранить изображение таким образом, чтобы качество соответствовало сюжету?
Примечание: я проверил значение, используя img_array.max()
или img_array.min()
, и да, значение превышает порог 0-255