Функция decode_jpeg
Функция decode_jpeg преобразует
сжатые данные изображения в формате JPEG
в тензор. Первым параметром функция принимает
тензор строки с содержимым JPEG-файла.
Вторым параметром можно передать число
каналов channels, а третьим - тип
масштабирования ratio.
Синтаксис
tf.io.decode_jpeg(contents, [channels], [ratio], [dtype])
Пример
Давайте закодируем простое изображение в 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)
res = tf.io.decode_jpeg(encoded)
print(res)
Результат выполнения кода:
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)
res = tf.io.decode_jpeg(encoded, channels=1)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[3]
[5]]
[[8]
[11]]], shape=(2, 2, 1), dtype=uint8)
Пример
Давайте применим масштабирование при
декодировании с помощью параметра ratio:
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)
res = tf.io.decode_jpeg(encoded, ratio=2)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[1 2 3]]
[[7 8 9]]], shape=(2, 1, 3), dtype=uint8)
Смотрите также
-
функцию
decode_image,
которая декодирует изображение любого формата -
функцию
decode_png,
которая декодирует изображение в формате PNG -
функцию
encode_jpeg,
которая кодирует тензор в формат JPEG -
функцию
convert_image_dtype,
которая преобразует тип данных изображения