Функция io.decode_png
Функция io.decode_png преобразует
закодированное изображение формата PNG
в тензор TensorFlow. Первым параметром
функция принимает тензор строки с байтами
изображения. Вторым параметром можно
передать число каналов channels,
а третьим - тип данных dtype.
Функция возвращает трехмерный тензор
с формой (height, width, channels).
Синтаксис
tf.io.decode_png(contents, [channels], [dtype], [name])
Пример
Давайте закодируем небольшое изображение
в PNG с помощью функции io.encode_png,
а затем декодируем его обратно:
import tensorflow as tf
img = tf.constant([[[255, 0, 0], [0, 255, 0]],
[[0, 0, 255], [255, 255, 0]]], dtype=tf.uint8)
encoded = tf.io.encode_png(img)
t = tf.io.decode_png(encoded)
print(t)
Результат выполнения кода:
tf.Tensor(
[[[255 0 0]
[ 0 255 0]]
[[ 0 0 255]
[255 255 0]]], shape=(2, 2, 3), dtype=uint8)
Пример
Давайте декодируем PNG в оттенках серого,
указав параметр channels равным 1:
import tensorflow as tf
img = tf.constant([[[255, 0, 0], [0, 255, 0]],
[[0, 0, 255], [255, 255, 0]]], dtype=tf.uint8)
encoded = tf.io.encode_png(img)
t = tf.io.decode_png(encoded, channels=1)
print(t)
Результат выполнения кода:
tf.Tensor(
[[[ 85]
[150]]
[[ 29]
[226]]], shape=(2, 2, 1), dtype=uint8)
Пример
Давайте декодируем PNG с типом данных
float32:
Результат выполнения кода:
tf.Tensor(
[[[255. 0. 0.]
[ 0. 255. 0.]]
[[ 0. 0. 255.]
[255. 255. 0.]]], shape=(2, 2, 3), dtype=float32)
Пример
Давайте декодируем PNG с четырьмя каналами
RGBA:
import tensorflow as tf
img = tf.constant([[[255, 0, 0, 255], [0, 255, 0, 128]],
[[0, 0, 255, 64], [255, 255, 0, 0]]], dtype=tf.uint8)
encoded = tf.io.encode_png(img)
t = tf.io.decode_png(encoded, channels=4)
print(t)
Результат выполнения кода:
tf.Tensor(
[[[255 0 0 255]
[ 0 255 0 128]]
[[ 0 0 255 64]
[255 255 0 0]]], shape=(2, 2, 4), dtype=uint8)
Смотрите также
-
функцию
encode_png,
которая кодирует тензор в PNG -
функцию
decode_jpeg,
которая декодирует изображение JPEG -
функцию
decode_bmp,
которая декодирует изображение BMP -
функцию
decode_gif,
которая декодирует изображение GIF