РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
634 of 824 menu

Функция io.encode_jpeg

Функция io.encode_jpeg преобразует тензор изображения в сжатую бинарную строку формата JPEG. Первым параметром функция принимает тензор с пиксельными данными формы [height, width, channels]. Вторым параметром можно передать качество сжатия quality в диапазоне от 0 до 100. Третьим параметром задается порядок каналов channels, а четвертым - прогрессивный режим progressive. Функция возвращает скалярный тензор типа string, содержащий байты JPEG-изображения.

Синтаксис

tf.io.encode_jpeg(image, [format], [quality], [progressive], [optimize_size], [chroma_downsampling], [density_unit], [x_density], [y_density], [xmp_metadata], [name])

Пример

Давайте закодируем тензор изображения размером 2 на 2 пикселя с тремя каналами в формат JPEG:

import tensorflow as tf image = tf.constant([ [[255, 0, 0], [0, 255, 0]], [[0, 0, 255], [255, 255, 0]] ], dtype=tf.uint8) encoded = tf.io.encode_jpeg(image) print(encoded)

Результат выполнения кода:

tf.Tensor(b'\xff\xd8\xff\xe0\x00\x10JFIF...', shape=(), dtype=string)

Пример

Давайте закодируем изображение с высоким качеством сжатия:

import tensorflow as tf image = tf.constant([ [[255, 0, 0], [0, 255, 0]], [[0, 0, 255], [255, 255, 0]] ], dtype=tf.uint8) encoded = tf.io.encode_jpeg(image, quality=95) print(encoded)

Результат выполнения кода:

tf.Tensor(b'\xff\xd8\xff\xe0\x00\x10JFIF...', shape=(), dtype=string)

Пример

Давайте закодируем изображение с прогрессивным режимом JPEG:

import tensorflow as tf image = tf.constant([ [[255, 0, 0], [0, 255, 0]], [[0, 0, 255], [255, 255, 0]] ], dtype=tf.uint8) encoded = tf.io.encode_jpeg(image, quality=80, progressive=True) print(encoded)

Результат выполнения кода:

tf.Tensor(b'\xff\xd8\xff\xe0\x00\x10JFIF...', shape=(), dtype=string)

Пример

Давайте сохраним закодированное изображение в файл:

import tensorflow as tf image = tf.constant([ [[255, 0, 0], [0, 255, 0]], [[0, 0, 255], [255, 255, 0]] ], dtype=tf.uint8) encoded = tf.io.encode_jpeg(image, quality=90) tf.io.write_file('output.jpg', encoded) print('Image saved')

Результат выполнения кода:

"Image saved"

Смотрите также

  • функцию decode_jpeg,
    которая декодирует JPEG-изображение в тензор
  • функцию encode_png,
    которая кодирует изображение в формат PNG
  • функцию encode_base64,
    которая кодирует тензор в Base64
  • функцию write_file,
    которая записывает данные в файл
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить