Spec-Zone.ru › TensorFlow 1.15

tf.compat.v2.image.crop_and_resize

Извлекает области из тензора входного изображения и изменяет их размер.

tf.compat.v2.image.crop_and_resize(
    image, boxes, box_indices, crop_size, method='bilinear', extrapolation_value=0,
    name=None
)

Извлекает области из тензора входного изображения и изменяет их размер с помощью билинейной или ближайшей-соседней выборки (возможно, с изменением соотношения сторон) до общего размера вывода, указанного в crop_size. Это более общее, чем операция crop_to_bounding_box, которая извлекает срез фиксированного размера из входного изображения и не позволяет изменять размер или соотношение сторон.

Возвращает тензор с crops из входного image в позициях, определенных в положениях границ в boxes. Все обрезанные области изменены в размер (с билинейной или ближайшей-соседней интерполяцией) до фиксированного size = [crop_height, crop_width]. Результат — 4-мерный тензор [num_boxes, crop_height, crop_width, depth]. Изменение размера выполняется по принципу выравнивания углов. В частности, если boxes = [[0, 0, 1, 1]], метод даст идентичные результаты, как если бы использовались tf.compat.v1.image.resize_bilinear() или tf.compat.v1.image.resize_nearest_neighbor() (зависит от аргумента method) с align_corners=True.

Аргументы
image 4-мерный тензор формы [batch, image_height, image_width, depth]. Оба image_height и image_width должны быть положительными.
boxes 2-мерный тензор формы [num_boxes, 4]. Строка i-й тензора определяет координаты области в box_ind[i] изображении и задается в нормализованных координатах [y1, x1, y2, x2]. Значение нормализованной координаты y отображается в координате изображения в y * (image_height - 1), поэтому интервал [0, 1] нормализованной высоты изображения отображается в [0, image_height - 1] в координатах высоты изображения. Мы допускаем y1 > y2, в этом случае выбранная область — это перевернутое вверх дном изображение исходного изображения. Размер ширины обрабатывается аналогично. Нормализованные координаты за пределами диапазона [0, 1] разрешены, в этом случае мы используем extrapolation_value для экстраполяции значений входного изображения.
box_indices 1-мерный тензор формы [num_boxes] со значениями int32 в [0, batch). Значение box_ind[i] указывает на изображение, к которому относится i-я область.
crop_size 1-мерный тензор из 2 элементов, size = [crop_height, crop_width]. Все обрезанные фрагменты изображения изменены в размер до этого размера. Соотношение сторон содержимого изображения не сохраняется. Оба crop_height и crop_width должны быть положительными.
method Необязательная строка, определяющая метод выборки для изменения размера. Может быть "bilinear" или "nearest" и по умолчанию "bilinear". В настоящее время поддерживаются два метода выборки: билинейная и ближайшая-соседняя.
extrapolation_value Необязательное значение float. По умолчанию 0. Значение, используемое для экстраполяции, при необходимости.
name Имя операции (необязательно).
Возвращаемые значения
4-мерный тензор формы [num_boxes, crop_height, crop_width, depth].

Пример:

import tensorflow as tf
BATCH_SIZE = 1
NUM_BOXES = 5
IMAGE_HEIGHT = 256
IMAGE_WIDTH = 256
CHANNELS = 3
CROP_SIZE = (24, 24)

image = tf.random.normal(shape=(BATCH_SIZE, IMAGE_HEIGHT, IMAGE_WIDTH,
CHANNELS) )
boxes = tf.random.uniform(shape=(NUM_BOXES, 4))
box_indices = tf.random.uniform(shape=(NUM_BOXES,), minval=0,
maxval=BATCH_SIZE, dtype=tf.int32)
output = tf.image.crop_and_resize(image, boxes, box_indices, CROP_SIZE)
output.shape  #=> (5, 24, 24, 3)

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/compat/v2/image/crop_and_resize

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API