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

Функция io.encode_png

Функция io.encode_png принимает тензор изображения и возвращает скалярный строковый тензор, содержащий изображение, закодированное в формате PNG. Первым параметром передается тензор с формой [height, width, channels], где каналов может быть 1, 2, 3 или 4. Вторым параметром можно передать уровень сжатия compression от -1 до 9. Значение -1 использует настройки сжатия по умолчанию (обычно уровень 6).

Значения пикселей должны лежать в диапазоне от 0 до 255 и иметь целочисленный тип. Функция поддерживает типы uint8 и uint16.

Синтаксис

tf.io.encode_png(image, [compression])

Пример

Давайте закодируем небольшое трехканальное изображение в PNG:

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

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

<dtype: 'string'> (1,)

Пример

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

import tensorflow as tf image = tf.constant([ [[255, 0, 0], [0, 255, 0], [0, 0, 255]], [[255, 255, 0], [0, 255, 255], [255, 0, 255]] ], dtype=tf.uint8) encoded = tf.io.encode_png(image, compression=9) res = tf.io.decode_png(encoded) print(res.shape)

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

(2, 3, 3)

Пример

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

import tensorflow as tf image = tf.constant([ [[0], [128], [255]], [[64], [192], [32]] ], dtype=tf.uint8) encoded = tf.io.encode_png(image) res = tf.io.decode_png(encoded, channels=1) print(res.shape) print(res.numpy().reshape(-1))

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

(2, 3, 1) [ 0 128 255 64 192 32]

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

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