Функция array_to_img
Функция array_to_img преобразует трехмерный массив NumPy
в объект изображения PIL. Первым параметром функция принимает
массив с формой (height, width, channels). Вторым параметром
можно передать масштаб данных, третьим - тип данных, четвертым -
режим интерполяции, а пятым - режим цветового канала.
Синтаксис
tf.keras.utils.array_to_img(x, data_format=None, scale=True, dtype=None, interpolation='nearest')
Пример
Давайте создадим массив NumPy и преобразуем его в изображение:
import tensorflow as tf
import numpy as np
arr = np.array([[[255, 0, 0], [0, 255, 0]], [[0, 0, 255], [255, 255, 0]]], dtype=np.uint8)
img = tf.keras.utils.array_to_img(arr)
print(type(img))
print(img.size)
Результат выполнения кода:
<class 'PIL.Image.Image'>
(2, 2)
Пример
Давайте создадим массив с типом float32 и преобразуем его
в изображение с масштабированием:
import tensorflow as tf
import numpy as np
arr = np.array([[[0.0, 0.0, 1.0], [1.0, 1.0, 0.0]], [[0.5, 0.5, 0.5], [1.0, 0.0, 0.0]]], dtype=np.float32)
img = tf.keras.utils.array_to_img(arr, scale=True)
print(img.mode)
print(img.size)
Результат выполнения кода:
RGB
(2, 2)
Пример
Давайте создадим одноканальный массив и преобразуем его в изображение в оттенках серого:
import tensorflow as tf
import numpy as np
arr = np.array([[[128], [64]], [[192], [255]]], dtype=np.uint8)
img = tf.keras.utils.array_to_img(arr, scale=False, dtype=np.uint8)
print(img.mode)
print(img.size)
Результат выполнения кода:
L
(2, 2)
Смотрите также
-
функцию
img_to_array,
которая преобразует изображение PIL в массив NumPy -
функцию
load_img,
которая загружает изображение из файла -
функцию
save_img,
которая сохраняет массив в файл изображения -
функцию
convert_image_dtype,
которая преобразует тип данных изображения