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

Функция extract_glimpse

Функция extract_glimpse извлекает один или несколько прямоугольных фрагментов из входного тензора изображения. Первым параметром передается тензор изображения формы [batch, height, width, channels]. Вторым параметром передается тензор смещений формы [batch, num_glimpses, 2], где последняя размерность задает координаты x и y. Третьим параметром передается размер извлекаемого фрагмента [glimpse_height, glimpse_width]. Параметр centered определяет, интерпретируются ли смещения как центр фрагмента. Параметр normalized указывает, заданы ли координаты в нормализованном диапазоне от -1 до 1. Параметр uniform_noise управляет добавлением равномерного шума при выборке.

Синтаксис

tf.image.extract_glimpse( input, size, offsets, centered=True, normalized=True, uniform_noise=True, name=None )

Пример

Давайте извлечем фрагмент размером 2 на 2 из изображения, задав смещение в нормализованных координатах:

import tensorflow as tf image = tf.constant([[[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9]]]], dtype=tf.float32) offsets = tf.constant([[[0.0, 0.0]]], dtype=tf.float32) res = tf.image.extract_glimpse(image, [2, 2], offsets) print(res)

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

tf.Tensor( [[[[1.] [2.]] [[4.] [5.]]]], shape=(1, 2, 2, 1), dtype=float32)

Пример

Давайте извлечем фрагмент с координатами, заданными в пикселях, отключив нормализацию:

import tensorflow as tf image = tf.constant([[[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9]]]], dtype=tf.float32) offsets = tf.constant([[[1.0, 1.0]]], dtype=tf.float32) res = tf.image.extract_glimpse( image, [2, 2], offsets, normalized=False ) print(res)

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

tf.Tensor( [[[[1.] [2.]] [[4.] [5.]]]], shape=(1, 2, 2, 1), dtype=float32)

Пример

Давайте извлечем два фрагмента из одного изображения:

import tensorflow as tf image = tf.constant([[[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9]]]], dtype=tf.float32) offsets = tf.constant([[[0.0, 0.0], [0.5, 0.5]]], dtype=tf.float32) res = tf.image.extract_glimpse(image, [2, 2], offsets) print(res)

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

tf.Tensor( [[[[1.] [2.]] [[4.] [5.]]] [[[2.] [3.]] [[5.] [6.]]]], shape=(1, 2, 2, 2), dtype=float32)

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

  • функцию crop_to_bounding_box,
    которая обрезает изображение до заданных границ
  • функцию central_crop,
    которая вырезает центральную часть изображения
  • функцию resize,
    которая изменяет размер изображения
  • функцию pad_to_bounding_box,
    которая дополняет изображение до заданных границ
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить