Как преобразовать данные numpy.ndarray в требуемый формат изображения? - PullRequest
0 голосов
/ 11 июля 2019

У меня есть данные в формате numpy.ndarray, например [45 42 35 ... 53 29 31] (1x3072 numpy массив uint8s), в какой строке массива хранится цветное изображение 32x32. Первые 1024 записи содержат значения красного канала, следующие 1024 - зеленый, а последние 1024 - синий.

Я хочу преобразовать это изображение ndarray в цветное изображение 32x32 в формате jpg. Перепробовал много вариантов, но, кажется, действительный / правильное изображение не создано.

Есть предложения по преобразованию изображения в форму 32x32?

from PIL import Image
import numpy as np

img_data=[45 42 35 ... 53 29 31] 
data_2 = np.resize(img_data,(32,32,3))
img = Image.fromarray(data_2,'RGB')
img.save('./my.png')

1 Ответ

0 голосов
/ 11 июля 2019

Это?

from PIL import Image
import numpy as np

img_data=[45 42 35 ... 53 29 31] 
data_2 = np.swapaxes(np.resize(img_data,(3,32,32)),0, 2)
img = Image.fromarray(data_2,'RGB')
img.save('./my.png')
...