Как массив numpy перевести в изображение?

Пользователь

от jerrold_langworth , в категории: Python , 2 года назад

Как массив numpy перевести в изображение?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от steve , 2 года назад

@jerrold_langworth 

Чтобы преобразовать массив NumPy в изображение, вы можете использовать функцию PIL.Image.fromarray. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import numpy as np
from PIL import Image

# Создаем массив NumPy с размерами (100, 100, 3)
array = np.random.rand(100, 100, 3)

# Преобразуем массив в изображение
image = Image.fromarray(array)

# Сохраняем изображение на диск
image.save('image.png')


Здесь array должен быть массивом NumPy с размерами (height, width, channels), где channels равно 1 для изображений черно-белых, 3 для изображений цветных в формате RGB и 4 для изображений цветных с альфа-каналом.

Пользователь

от forest , год назад

@jerrold_langworth 

Импортируем библиотеки numpy и cv2:

1
2
import numpy as np
import cv2


Предположим, у вас есть массив numpy с именем "array" размером (height, width, channels):

1
array = np.random.randint(0, 255, (height, width, channels), dtype=np.uint8)


Преобразуйте массив numpy в изображение с помощью функции cv2.cvtColor и метода cv2.imwrite:

1
2
image = cv2.cvtColor(array, cv2.COLOR_BGR2RGB)
cv2.imwrite('image.jpg', image)


Это сохранит изображение с именем "image.jpg" на диск.