Функция io.decode_jpeg
Функция io.decode_jpeg преобразует
закодированное JPEG-изображение в тензор.
Первым параметром функция принимает тензор
с байтами изображения. Вторым параметром можно
передать число каналов channels, а третьим -
параметр ratio для масштабирования.
Функция полезна при загрузке изображений из файлов
или из сети.
Синтаксис
tf.io.decode_jpeg(contents, [channels], [ratio], [dct_method])
Пример
Давайте закодируем тензор в JPEG с помощью
функции io.encode_jpeg, а затем
декодируем его обратно:
import tensorflow as tf
t = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]], dtype=tf.uint8)
encoded = tf.io.encode_jpeg(t)
decoded = tf.io.decode_jpeg(encoded)
print(decoded)
Результат выполнения кода:
tf.Tensor(
[[[1 2 3]
[4 5 6]]
[[7 8 9]
[10 11 12]]], shape=(2, 2, 3), dtype=uint8)
Пример
Давайте декодируем изображение в оттенках серого, указав один канал:
import tensorflow as tf
t = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]], dtype=tf.uint8)
encoded = tf.io.encode_jpeg(t)
decoded = tf.io.decode_jpeg(encoded, channels=1)
print(decoded)
Результат выполнения кода:
tf.Tensor(
[[[2]
[5]]
[[8]
[11]]], shape=(2, 2, 1), dtype=uint8)
Пример
Давайте прочитаем JPEG-файл с диска и декодируем его в тензор:
import tensorflow as tf
raw = tf.io.read_file('image.jpg')
decoded = tf.io.decode_jpeg(raw, channels=3)
print(decoded.shape)
Результат выполнения кода:
(320, 240, 3)
Смотрите также
-
функцию
decode_png,
которая декодирует изображение в формате PNG -
функцию
encode_jpeg,
которая кодирует тензор в формат JPEG -
функцию
read_file,
которая читает содержимое файла в тензор -
функцию
decode_gif,
которая декодирует изображение в формате GIF